public unsafe override void Add(short[] src1, short[] src2, ref short[] 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(short *pSrc1 = src1, pSrc2 = src2, pDst = dest) { IPPNative.ippsAdd_16s(pSrc1, pSrc2, pDst, dest.Length); } }