public unsafe override void Add(double[] src1, double[] src2, ref double[] dest) { if (src1.Length != dest.Length && src2.Length != dest.Length) { throw new Exception("Length of src1 is not equal to the length of src2 and dest"); } fixed(double *pSrc1 = src1, pSrc2 = src2, pDst = dest) { IPPNative.ippsAdd_64f(pSrc1, pSrc2, pDst, dest.Length); } }