| 62 | } |
| 63 | |
| 64 | void zvmul(const float * real1P, const float * imag1P, const float * real2P, const float * imag2P, float * realDestP, float * imagDestP, int framesToProcess) |
| 65 | { |
| 66 | DSPSplitComplex sc1; |
| 67 | DSPSplitComplex sc2; |
| 68 | DSPSplitComplex dest; |
| 69 | sc1.realp = const_cast<float *>(real1P); |
| 70 | sc1.imagp = const_cast<float *>(imag1P); |
| 71 | sc2.realp = const_cast<float *>(real2P); |
| 72 | sc2.imagp = const_cast<float *>(imag2P); |
| 73 | dest.realp = realDestP; |
| 74 | dest.imagp = imagDestP; |
| 75 | #if defined(__ppc__) || defined(__i386__) |
| 76 | ::zvmul(&sc1, 1, &sc2, 1, &dest, 1, framesToProcess, 1); |
| 77 | #else |
| 78 | vDSP_zvmul(&sc1, 1, &sc2, 1, &dest, 1, framesToProcess, 1); |
| 79 | #endif |
| 80 | } |
| 81 | |
| 82 | void vsma(const float * sourceP, int sourceStride, const float * scale, float * destP, int destStride, int framesToProcess) |
| 83 | { |