17 for(Plans::const_iterator it =
m_plans.begin(); it !=
m_plans.end(); ++it) {
18 if(((*it)->n == n) && ((*it)->inverse == inverse)) {
27 m_currentPlan->
in = (fftwf_complex*)fftwf_malloc(
sizeof(fftwf_complex) * n);
28 m_currentPlan->
out = (fftwf_complex*)fftwf_malloc(
sizeof(fftwf_complex) * n);
34 qDebug(
"FFT: creating FFTW plan (n=%d,%s) took %dms", n, inverse ?
"inverse" :
"forward", t.elapsed());
62 for(Plans::iterator it =
m_plans.begin(); it !=
m_plans.end(); ++it) {
63 fftwf_destroy_plan((*it)->plan);
64 fftwf_free((*it)->in);
65 fftwf_free((*it)->out);
void configure(int n, bool inverse)
static QMutex m_globalPlanMutex
std::complex< Real > Complex