public static void AddScaleCopy(float a, ReadOnlySpan <float> src, ReadOnlySpan <float> dst, Span <float> res, int count) { Contracts.AssertNonEmpty(dst); Contracts.Assert(0 < count && count <= dst.Length); Contracts.AssertNonEmpty(src); Contracts.Assert(count <= src.Length); Contracts.AssertNonEmpty(res); Contracts.Assert(count <= res.Length); unsafe { fixed(float *pdst = &MemoryMarshal.GetReference(dst)) fixed(float *psrc = &MemoryMarshal.GetReference(src)) fixed(float *pres = &MemoryMarshal.GetReference(res)) Thunk.AddScaleCopyU(a, psrc, pdst, pres, count); } }