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