| 132 | } |
| 133 | |
| 134 | FFTSetup FFTFrame::fftSetupForSize(int fftSize) |
| 135 | { |
| 136 | if (!fftSetups) |
| 137 | { |
| 138 | fftSetups = (FFTSetup *) malloc(sizeof(FFTSetup) * kMaxFFTPow2Size); |
| 139 | memset(fftSetups, 0, sizeof(FFTSetup) * kMaxFFTPow2Size); |
| 140 | } |
| 141 | |
| 142 | int pow2size = static_cast<int>(log2(fftSize)); |
| 143 | ASSERT(pow2size < kMaxFFTPow2Size); |
| 144 | if (!fftSetups[pow2size]) |
| 145 | fftSetups[pow2size] = vDSP_create_fftsetup(pow2size, FFT_RADIX2); |
| 146 | |
| 147 | return fftSetups[pow2size]; |
| 148 | } |
| 149 | |
| 150 | float * FFTFrame::realData() const |
| 151 | { |
nothing calls this directly
no outgoing calls
no test coverage detected