public static void Store(this HwVector4 vector, out Vector4 destination) { fixed(void *p = &destination) { Store4D(vector, (float *)p); } }
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)); } }
public void John() { for (var i = 0; i < Count; i++) { HwVector4 vector = JohnVectorsSrc ![i].Load();