public static double ToneGeneration(ref double[] dest, double magnitude, double freq) { double[] phase = new double[1]; IppHintAlgorithm hint = IppHintAlgorithm.ippAlgHintFast; fixed(double *pDst = dest, pPhase = phase) { if (Environment.Is64BitProcess) { ippNativeX64.ippsTone_64f(pDst, dest.Length, magnitude, freq, pPhase, hint); } else { ippNativeX86.ippsTone_64f(pDst, dest.Length, magnitude, freq, pPhase, hint); } }; return(phase[0]); }
public static extern IppStatus ippsTone_64f(double *pDst, int len, double magn, double rFreq, double *pPhase, IppHintAlgorithm hint);
public static extern IppStatus ippsFFTInit_R_64f(IppsFFTSpec_R_64f **ppFFTSpec, int order, int flag, IppHintAlgorithm hint, byte *pSpec, byte *pSpecBuffer);
public static extern IppStatus ippsFFTGetSize_R_64f(int order, int flag, IppHintAlgorithm hint, int *pSpecSize, int *pSpecBufferSize, int *pBufferSize);
public static extern Status ippsFFTInitAlloc_C_64fc(ref IppState ppFFTSpec, int order, FFTFactor flag, IppHintAlgorithm hint);
public static extern IppStatus ippsFFTGetSize_C_64f([In] int order, [In] IppFftFlag flag, [In] IppHintAlgorithm hint, ref int pSpecSize, ref int pSpecBufferSize, ref int pBufferSize);
public unsafe static extern IppStatus ippsFFTInit_C_64f(ref IntPtr ppFFTSpec, [In] int order, [In] IppFftFlag flag, [In] IppHintAlgorithm hint, [In] byte *pSpec, [In] byte[] pSpecBuffer);
public static extern IppStatus ippsTone_32fc(Ipp32fc *pDst, int len, float magn, float rFreq, float *pPhase, IppHintAlgorithm hint);
public static extern IppStatus ippsResamplePolyphaseFixedInit_32f(int inRate, int outRate, int len, float rollf, float alpha, IppsResamplingPolyphaseFixed_32f *pSpec, IppHintAlgorithm hint);
public static extern IppStatus ippsResamplePolyphaseFixedGetSize_32f(int inRate, int outRate, int len, int *pSize, int *pLen, int *pHeight, IppHintAlgorithm hint);