32 #ifndef FFTW_COMPLEX_MATRIX_H 33 #define FFTW_COMPLEX_MATRIX_H The class for real matrices.
void createC2RFftPlan1DY(RealMatrix &outMatrix)
Create FFTW plan for Complex-to-Real in the y dimension.
void createC2RFftPlan3D(RealMatrix &outMatrix)
Create FFTW plan for 3D Complex-to-Real.
Class implementing 3D and 1D Real-To-Complex and Complex-To-Real transforms using FFTW interface...
void computeC2RFft1DX(RealMatrix &outMatrix)
Compute 1D out-of-place Complex-to-Real FFT in the x dimension.
virtual ~FftwComplexMatrix()
Destructor.
static const unsigned kFftMeasureFlag
FFTW plan flag.
void createC2RFftPlan1DX(RealMatrix &outMatrix)
Create FFTW plan for Complex-to-Real in the x dimension.
fftwf_plan mC2RFftPlan1DY
FFTW plan for the 3D Complex-to-Real transform in the y dimension.
fftwf_plan mC2RFftPlan1DZ
FFTW plan for the 3Z Complex-to-Real transform in the z dimension.
void computeC2RFft1DZ(RealMatrix &outMatrix)
Compute 1D out-of-place Complex-to-Real FFT in the z dimension.
fftwf_plan mR2CFftPlan1DY
FFTW plan for the 3D Real-to-Complex transform in the y dimension.
fftwf_plan mC2RFftPlan1DX
FFTW plan for the 3D Complex-to-Real transform in the x dimension.
void createR2CFftPlan1DY(RealMatrix &inMatrix)
Create an FFTW plan for 1D Real-to-Complex in the y dimension.
fftwf_plan mC2RFftPlan3D
FFTW plan for the 3D Complex-to-Real transform.
static void exportWisdom()
Export wisdom to the file.
void computeC2RFft3D(RealMatrix &outMatrix)
Compute forward out-of-place 3D Complex-to-Real FFT.
fftwf_plan mR2CFftPlan1DX
FFTW plan for the 1D Real-to-Complex transform in the x dimension.
static void deleteStoredWisdom()
Destroy wisdom in the file (delete it).
virtual void freeMemory()
Free memory of the FFTW matrix.
void computeR2CFft3D(RealMatrix &inMatrix)
Compute forward out-of-place 3D Real-to-Complex FFT.
FftwComplexMatrix & operator=(const FftwComplexMatrix &src)
Operator = not allowed for public.
The class for complex matrices.
fftwf_plan mR2CFftPlan3D
FFTW plan for the 3D Real-to-Complex transform.
fftwf_plan mR2CFftPlan1DZ
FFTW plan for the 3D Real-to-Complex transform in the z dimension.
Structure with 4D dimension sizes (3 in space and 1 in time).
void createC2RFftPlan1DZ(RealMatrix &outMatrix)
Create FFTW plan for Complex-to-Real in the z dimension.
The header file with the class for complex matrices.
static std::string getWisdomFileName()
void computeR2CFft1DX(RealMatrix &inMatrix)
Compute 1D out-of-place Real-to-Complex FFT in the x dimension.
void computeR2CFft1DZ(RealMatrix &inMatrix)
Compute 1D out-of-place Real-to-Complex FFT in the z dimension.
void createR2CFftPlan1DX(RealMatrix &inMatrix)
Create an FFTW plan for 1D Real-to-Complex in the x dimension.
void computeC2RFft1DY(RealMatrix &outMatrix)
Compute 1D out-of-place Complex-to-Real FFT in the y dimension.
static void importWisdom()
Import wisdom from the file.
void createR2CFftPlan3D(RealMatrix &inMatrix)
Create FFTW plan for 3D Real-to-Complex.
static const std::string kFftWisdomFileExtension
The file extension for FFTW wisdom.
FftwComplexMatrix()=delete
Default constructor not allowed for public.
void createR2CFftPlan1DZ(RealMatrix &inMatrix)
Create an FFTW plan for 1D Real-to-Complex in the z dimension.
virtual void allocateMemory()
Allocate memory for the FFTW matrix.
void computeR2CFft1DY(RealMatrix &inMatrix)
Compute 1D out-of-place Real-to-Complex FFT in the y dimension.