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.