public static void Store(this HwVector4 vector, out Vector4 destination)
 {
     fixed(void *p = &destination)
     {
         Store4D(vector, (float *)p);
     }
 }
Example #2
0
        public unsafe void MathSharp()
        {
            var length    = audioBufferVectorized.Length;
            var vecLength = audioBufferVectorized.Length & ~3;

            var samplePoints   = Vector128.Create((float)0, 1, 2, 3);
            var sampleRate     = Vector128.Create((float)SampleRate);
            var sampleIterator = Vector128.Create((float)4);
            var sine           = Vector128.Create(Tau * Frequency);
            var i = 0;

            fixed(float *ptr = audioBufferVectorized)
            {
                while (i < vecLength)
                {
                    HwVector4 vector = Divide(samplePoints, sampleRate);
                    vector = Multiply(vector, sine);
                    vector = Sin(vector);

                    vector.Store4D(&ptr[i]);

                    i           += 4;
                    samplePoints = Add(samplePoints, sampleIterator);
                }
            }

            while (i < length)
            {
                audioBufferVectorized[i] = MathF.Sin(Tau * Frequency * ((float)i / SampleRate));
            }
        }
Example #3
0
 public void John()
 {
     for (var i = 0; i < Count; i++)
     {
         HwVector4 vector = JohnVectorsSrc ![i].Load();