Beispiel #1
0
        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);
            }
        }