Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
heffte::real2real_executor< backend::fftw, prepost_processor > Struct Template Reference

Public Member Functions

template<typename index >
 real2real_executor (void *, box3d< index > const box, int dimension)
 Construct a plan for batch 1D transforms.
 
template<typename index >
 real2real_executor (void *, box3d< index > const box, int dir1, int dir2)
 Construct a plan for batch 2D transforms, not implemented currently.
 
template<typename index >
 real2real_executor (void *, box3d< index > const box)
 Construct a plan for a single 3D transform, not implemented currently.
 
int box_size () const override
 Returns the size of the box.
 
size_t workspace_size () const override
 Returns the size of the box.
 
virtual void forward (float data[], float *) const override
 Forward r2r, single precision.
 
virtual void forward (double data[], double *) const override
 Forward r2r, double precision.
 
virtual void backward (float data[], float *) const override
 Backward r2r, single precision.
 
virtual void backward (double data[], double *) const override
 Backward r2r, double precision.
 
- Public Member Functions inherited from heffte::executor_base
virtual ~executor_base ()=default
 Virtual destructor.
 
virtual void forward (std::complex< float >[], std::complex< float > *) const
 Forward FFT, single precision.
 
virtual void forward (std::complex< double >[], std::complex< double > *) const
 Forward FFT, double precision.
 
virtual void backward (std::complex< float >[], std::complex< float > *) const
 Backward FFT, single precision.
 
virtual void backward (std::complex< double >[], std::complex< double > *) const
 Backward FFT, double precision.
 
virtual void forward (float const[], std::complex< float >[], std::complex< float > *) const
 Forward FFT real-to-complex, single precision.
 
virtual void forward (double const[], std::complex< double >[], std::complex< double > *) const
 Forward FFT real-to-complex, double precision.
 
virtual void backward (std::complex< float >[], float[], std::complex< float > *) const
 Backward FFT real-to-complex, single precision.
 
virtual void backward (std::complex< double >[], double[], std::complex< double > *) const
 Backward FFT real-to-complex, double precision.
 
virtual int complex_size () const
 Return the size of the complex-box (r2c executors).
 

Member Function Documentation

◆ box_size()

int heffte::real2real_executor< backend::fftw, prepost_processor >::box_size ( ) const
inlineoverridevirtual

Returns the size of the box.

Reimplemented from heffte::executor_base.

◆ workspace_size()

size_t heffte::real2real_executor< backend::fftw, prepost_processor >::workspace_size ( ) const
inlineoverridevirtual

Returns the size of the box.

Reimplemented from heffte::executor_base.

◆ forward() [1/2]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::forward ( float data[],
float *  ) const
inlineoverridevirtual

Forward r2r, single precision.

Reimplemented from heffte::executor_base.

◆ forward() [2/2]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::forward ( double data[],
double *  ) const
inlineoverridevirtual

Forward r2r, double precision.

Reimplemented from heffte::executor_base.

◆ backward() [1/2]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::backward ( float data[],
float *  ) const
inlineoverridevirtual

Backward r2r, single precision.

Reimplemented from heffte::executor_base.

◆ backward() [2/2]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::backward ( double data[],
double *  ) const
inlineoverridevirtual

Backward r2r, double precision.

Reimplemented from heffte::executor_base.


The documentation for this struct was generated from the following file: