Brief description of class still missing. More...
#include <FFTW.h>
Public Member Functions | |
virtual void | backward (int nSamples, double *samples) |
virtual void | backward (int nSamples, double *samples) |
virtual void | backward (int nSamples, double *samples) |
virtual void | backward (int nSamples, double *samples) |
virtual void | backward (int nSamples, double *samples) |
virtual void | backward (int nSamples, Complex *samples) |
virtual void | backward (int nSamples, Complex *samples) |
virtual void | backward (int nSamples, Complex *samples) |
virtual void | backward (int nSamples, Complex *samples) |
virtual void | backward (int nSamples, Complex *samples) |
virtual void | forward (int nSamples, double *samples) |
virtual void | forward (int nSamples, double *samples) |
virtual void | forward (int nSamples, double *samples) |
virtual void | forward (int nSamples, double *samples) |
virtual void | forward (int nSamples, double *samples) |
virtual void | forward (int nSamples, Complex *samples) |
virtual void | forward (int nSamples, Complex *samples) |
virtual void | forward (int nSamples, Complex *samples) |
virtual void | forward (int nSamples, Complex *samples) |
virtual void | forward (int nSamples, Complex *samples) |
bool | loadWisdom (QString fileName) |
bool | loadWisdom (QString fileName) |
bool | loadWisdom (QString fileName) |
bool | loadWisdom (QString fileName) |
bool | loadWisdom (QString fileName) |
virtual void | manyBackward (int howmany, int nSamples, Complex *samples) |
virtual void | manyBackward (int howmany, int nSamples, Complex *samples) |
virtual void | manyBackward (int howmany, int nSamples, Complex *samples) |
virtual void | manyBackward (int howmany, int nSamples, Complex *samples) |
virtual void | manyBackward (int howmany, int nSamples, Complex *samples) |
virtual void | manyForward (int howmany, int nSamples, Complex *samples) |
virtual void | manyForward (int howmany, int nSamples, Complex *samples) |
virtual void | manyForward (int howmany, int nSamples, Complex *samples) |
virtual void | manyForward (int howmany, int nSamples, Complex *samples) |
virtual void | manyForward (int howmany, int nSamples, Complex *samples) |
Brief description of class still missing.
From fftw documentation:
The upshot is that the only thread-safe (re-entrant) routine in FFTW is fftw_execute (and the guru variants thereof). All other routines (e.g. the planner) should only be called from one thread at a time. So, for example, you can wrap a semaphore lock around any calls to the planner; even more simply, you can just create all of your plans from one thread. See http://www.fftw.org/fftw3_doc/Thread-safety.html#Thread-safety for details.
void FFTW::backward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
{ _plannerMutex.lock(); fftw_plan plan=fftw_plan_r2r_1d(nSamples, samples, samples, FFTW_HC2R, FFTW_ESTIMATE); _plannerMutex.unlock(); fftw_execute_r2r(plan, samples, samples); _plannerMutex.lock(); fftw_destroy_plan(plan); _plannerMutex.unlock(); }
virtual void FFTW::backward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::backward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::backward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::backward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
void FFTW::backward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
{ _plannerMutex.lock(); fftw_plan plan=fftw_plan_dft_1d(nSamples, (fftw_complex*)samples, (fftw_complex*)samples, FFTW_BACKWARD, FFTW_ESTIMATE); _plannerMutex.unlock(); fftw_execute_dft(plan, (fftw_complex *)samples, (fftw_complex *)samples); _plannerMutex.lock(); fftw_destroy_plan(plan); _plannerMutex.unlock(); }
virtual void FFTW::backward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::backward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::backward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::backward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::forward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
void FFTW::forward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
{ _plannerMutex.lock(); fftw_plan plan=fftw_plan_r2r_1d(nSamples, samples, samples, FFTW_R2HC, FFTW_ESTIMATE); _plannerMutex.unlock(); fftw_execute_r2r(plan, samples, samples); _plannerMutex.lock(); fftw_destroy_plan(plan); _plannerMutex.unlock(); }
virtual void FFTW::forward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::forward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::forward | ( | int | nSamples, |
double * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::forward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::forward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::forward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
void FFTW::forward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
{ _plannerMutex.lock(); fftw_plan plan=fftw_plan_dft_1d(nSamples, (fftw_complex*)samples, (fftw_complex*)samples, FFTW_FORWARD, FFTW_ESTIMATE); _plannerMutex.unlock(); fftw_execute_dft(plan, (fftw_complex *)samples, (fftw_complex *)samples); _plannerMutex.lock(); fftw_destroy_plan(plan); _plannerMutex.unlock(); }
virtual void FFTW::forward | ( | int | nSamples, |
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
bool FFTW::loadWisdom | ( | QString | fileName | ) |
bool FFTW::loadWisdom | ( | QString | fileName | ) |
{ QFile f(fileName); if( !f.open(QIODevice::ReadOnly) ) { return false; } fftw_import_wisdom_from_string(f.readAll().data()); // TODO interpret returned value from fftw return true; }
bool FFTW::loadWisdom | ( | QString | fileName | ) |
bool FFTW::loadWisdom | ( | QString | fileName | ) |
bool FFTW::loadWisdom | ( | QString | fileName | ) |
virtual void FFTW::manyBackward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::manyBackward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
void FFTW::manyBackward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
{ _plannerMutex.lock(); fftw_plan plan=fftw_plan_many_dft(1, &nSamples, howmany, (fftw_complex *)samples, 0, 1, nSamples, (fftw_complex *)samples, 0, 1, nSamples, FFTW_BACKWARD, FFTW_PATIENT); _plannerMutex.unlock(); fftw_execute_dft(plan, (fftw_complex *)samples, (fftw_complex *)samples); _plannerMutex.lock(); fftw_destroy_plan(plan); _plannerMutex.unlock(); }
virtual void FFTW::manyBackward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::manyBackward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::manyForward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::manyForward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
virtual void FFTW::manyForward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
void FFTW::manyForward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.
{ _plannerMutex.lock(); fftw_plan plan=fftw_plan_many_dft(1, &nSamples, howmany, (fftw_complex *)samples, 0, 1, nSamples, (fftw_complex *)samples, 0, 1, nSamples, FFTW_FORWARD, FFTW_PATIENT); _plannerMutex.unlock(); fftw_execute_dft(plan, (fftw_complex *)samples, (fftw_complex *)samples); _plannerMutex.lock(); fftw_destroy_plan(plan); _plannerMutex.unlock(); }
virtual void FFTW::manyForward | ( | int | howmany, |
int | nSamples, | ||
Complex * | samples | ||
) | [virtual] |
Implements GeopsyCore::FastFourierTransform.