public static void Add(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 *ps = &MemoryMarshal.GetReference(src)) fixed(int *pi = &MemoryMarshal.GetReference(indices)) fixed(float *pd = &MemoryMarshal.GetReference(dst)) Thunk.AddSU(ps, pi, pd, count); } }