casa
$Rev:20696$
|
C++ interface to the FFTWw library. More...
#include <FFTW.h>
Public Member Functions | |
FFTW () | |
~FFTW () | |
void | plan_r2c (const IPosition &size, Float *in, Complex *out) |
polymorphic interface to fftw[f]_plan... | |
void | plan_r2c (const IPosition &size, Double *in, DComplex *out) |
void | plan_c2r (const IPosition &size, Complex *in, Float *out) |
void | plan_c2r (const IPosition &size, DComplex *in, Double *out) |
void | plan_c2c_forward (const IPosition &size, DComplex *in) |
void | plan_c2c_forward (const IPosition &size, Complex *in) |
void | plan_c2c_backward (const IPosition &size, DComplex *in) |
void | plan_c2c_backward (const IPosition &size, Complex *in) |
void | r2c (const IPosition &size, Float *in, Complex *out) |
polymorphic interface to fftw[f]_execute... | |
void | r2c (const IPosition &size, Double *in, DComplex *out) |
void | c2r (const IPosition &size, Complex *in, Float *out) |
void | c2r (const IPosition &size, DComplex *in, Double *out) |
void | c2c (const IPosition &size, Complex *in, Bool forward) |
void | c2c (const IPosition &size, DComplex *in, Bool forward) |
Private Attributes | |
FFTWPlanf * | itsPlanR2Cf |
FFTWPlan * | itsPlanR2C |
FFTWPlanf * | itsPlanC2Rf |
FFTWPlan * | itsPlanC2R |
FFTWPlanf * | itsPlanC2CFf |
FFTWPlan * | itsPlanC2CF |
FFTWPlanf * | itsPlanC2CBf |
FFTWPlan * | itsPlanC2CB |
unsigned | flags |
Static Private Attributes | |
static volatile Bool | is_initialized_fftw |
static Mutex | theirMutex |
only once per process, not once per object |
C++ interface to the FFTWw library.
This is a wrapper of FFTW3. It is only active if FFTW3 was found during the build. If not found, all functions won't do anything at all.
The interface is such that the presence of FFTW3 is only visible in the implementation. The header file does not need to know. In this way external code using this class does not need to set HAVE_FFTW.
casa::FFTW::FFTW | ( | ) |
void casa::FFTW::c2c | ( | const IPosition & | size, |
Complex * | in, | ||
Bool | forward | ||
) |
void casa::FFTW::c2c | ( | const IPosition & | size, |
DComplex * | in, | ||
Bool | forward | ||
) |
void casa::FFTW::c2r | ( | const IPosition & | size, |
Complex * | in, | ||
Float * | out | ||
) |
void casa::FFTW::c2r | ( | const IPosition & | size, |
DComplex * | in, | ||
Double * | out | ||
) |
void casa::FFTW::plan_c2c_backward | ( | const IPosition & | size, |
DComplex * | in | ||
) |
void casa::FFTW::plan_c2c_backward | ( | const IPosition & | size, |
Complex * | in | ||
) |
void casa::FFTW::plan_c2c_forward | ( | const IPosition & | size, |
DComplex * | in | ||
) |
void casa::FFTW::plan_c2c_forward | ( | const IPosition & | size, |
Complex * | in | ||
) |
void casa::FFTW::plan_c2r | ( | const IPosition & | size, |
Complex * | in, | ||
Float * | out | ||
) |
void casa::FFTW::plan_c2r | ( | const IPosition & | size, |
DComplex * | in, | ||
Double * | out | ||
) |
void casa::FFTW::plan_r2c | ( | const IPosition & | size, |
Float * | in, | ||
Complex * | out | ||
) |
polymorphic interface to fftw[f]_plan...
void casa::FFTW::plan_r2c | ( | const IPosition & | size, |
Double * | in, | ||
DComplex * | out | ||
) |
void casa::FFTW::r2c | ( | const IPosition & | size, |
Float * | in, | ||
Complex * | out | ||
) |
polymorphic interface to fftw[f]_execute...
void casa::FFTW::r2c | ( | const IPosition & | size, |
Double * | in, | ||
DComplex * | out | ||
) |
unsigned casa::FFTW::flags [private] |
volatile Bool casa::FFTW::is_initialized_fftw [static, private] |
FFTWPlan* casa::FFTW::itsPlanC2CB [private] |
FFTWPlanf* casa::FFTW::itsPlanC2CBf [private] |
FFTWPlan* casa::FFTW::itsPlanC2CF [private] |
FFTWPlanf* casa::FFTW::itsPlanC2CFf [private] |
FFTWPlan* casa::FFTW::itsPlanC2R [private] |
FFTWPlanf* casa::FFTW::itsPlanC2Rf [private] |
FFTWPlan* casa::FFTW::itsPlanR2C [private] |
FFTWPlanf* casa::FFTW::itsPlanR2Cf [private] |
Mutex casa::FFTW::theirMutex [static, private] |