isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | List of all members
isce3::fft::FwdFFTPlan< T > Class Template Referencefinal

RAII wrapper encapsulating FFTW plan for forward FFT execution. More...

#include <FFTPlan.h>

Inheritance diagram for isce3::fft::FwdFFTPlan< T >:
isce3::fft::detail::FFTPlanBase< FFTW_FORWARD, T >

Public Types

using super_t = detail::FFTPlanBase< FFTW_FORWARD, T >
 

Public Member Functions

 FwdFFTPlan ()
 Construct an invalid plan. More...
 
 FwdFFTPlan (std::complex< T > *out, T *in, int n, int batch=1, unsigned flags=FFTW_MEASURE, int threads=detail::getMaxThreads())
 1-D real-to-complex forward transform More...
 
template<int Rank>
 FwdFFTPlan (std::complex< T > *out, T *in, const int(&n)[Rank], int batch=1, unsigned flags=FFTW_MEASURE, int threads=detail::getMaxThreads())
 N-D real-to-complex forward transform. More...
 
 FwdFFTPlan (std::complex< T > *out, T *in, int n, int nembed, int stride, int dist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=detail::getMaxThreads())
 1-D real-to-complex forward transform More...
 
template<int Rank>
 FwdFFTPlan (std::complex< T > *out, T *in, const int(&n)[Rank], const int(&nembed)[Rank], int stride, int dist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=detail::getMaxThreads())
 N-D real-to-complex forward transform. More...
 
 FwdFFTPlan (std::complex< T > *out, T *in, int n, int inembed, int istride, int idist, int onembed, int ostride, int odist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=detail::getMaxThreads())
 1-D real-to-complex forward transform More...
 
template<int Rank>
 FwdFFTPlan (std::complex< T > *out, T *in, const int(&n)[Rank], const int(&inembed)[Rank], int istride, int idist, const int(&onembed)[Rank], int ostride, int odist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=detail::getMaxThreads())
 N-D real-to-complex forward transform. More...
 
- Public Member Functions inherited from isce3::fft::detail::FFTPlanBase< FFTW_FORWARD, T >
 FFTPlanBase (std::complex< T > *out, std::complex< T > *in, int n, int batch=1, unsigned flags=FFTW_MEASURE, int threads=getMaxThreads())
 
 FFTPlanBase (std::complex< T > *out, std::complex< T > *in, const int(&n)[Rank], int batch=1, unsigned flags=FFTW_MEASURE, int threads=getMaxThreads())
 
 FFTPlanBase (std::complex< T > *out, std::complex< T > *in, int n, int nembed, int stride, int dist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=getMaxThreads())
 
 FFTPlanBase (std::complex< T > *out, std::complex< T > *in, const int(&n)[Rank], const int(&nembed)[Rank], int stride, int dist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=getMaxThreads())
 
 FFTPlanBase (std::complex< T > *out, std::complex< T > *in, int n, int inembed, int istride, int idist, int onembed, int ostride, int odist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=getMaxThreads())
 
 FFTPlanBase (std::complex< T > *out, std::complex< T > *in, const int(&n)[Rank], const int(&inembed)[Rank], int istride, int idist, const int(&onembed)[Rank], int ostride, int odist, int batch=1, unsigned flags=FFTW_MEASURE, int threads=getMaxThreads())
 
 operator bool () const
 
void execute () const
 

Additional Inherited Members

- Protected Types inherited from isce3::fft::detail::FFTPlanBase< FFTW_FORWARD, T >
using fftw_plan_t = typename FFTWPlanType< T >::plan_t
 
- Protected Member Functions inherited from isce3::fft::detail::FFTPlanBase< FFTW_FORWARD, T >
 FFTPlanBase (U *out, V *in, const int *n, const int *inembed, int istride, int idist, const int *onembed, int ostride, int odist, int batch, unsigned flags, int rank, int sign, int threads)
 
- Protected Attributes inherited from isce3::fft::detail::FFTPlanBase< FFTW_FORWARD, T >
std::shared_ptr< fftw_plan_t > _plan
 

Detailed Description

template<typename T>
class isce3::fft::FwdFFTPlan< T >

RAII wrapper encapsulating FFTW plan for forward FFT execution.

Constructor & Destructor Documentation

template<typename T>
isce3::fft::FwdFFTPlan< T >::FwdFFTPlan ( )
inline

Construct an invalid plan.

The plan is allocated but not initialized. It should not be executed.

template<typename T>
isce3::fft::FwdFFTPlan< T >::FwdFFTPlan ( std::complex< T > *  out,
T *  in,
int  n,
int  batch = 1,
unsigned  flags = FFTW_MEASURE,
int  threads = detail::getMaxThreads() 
)

1-D real-to-complex forward transform

Parameters
[out]outOutput buffer
[in,out]inInput data
[in]nTransform size
[in]batchBatch size
[in]flagsFFTW plan creation flags
[in]threadsThread count for parallel execution
template<typename T>
template<int Rank>
isce3::fft::FwdFFTPlan< T >::FwdFFTPlan ( std::complex< T > *  out,
T *  in,
const int(&)  n[Rank],
int  batch = 1,
unsigned  flags = FFTW_MEASURE,
int  threads = detail::getMaxThreads() 
)

N-D real-to-complex forward transform.

Template Parameters
RankTransform dimensionality
Parameters
[out]outOutput buffer
[in,out]inInput data
[in]nSize of each transform dimension
[in]batchBatch size
[in]flagsFFTW plan creation flags
[in]threadsThread count for parallel execution
template<typename T>
isce3::fft::FwdFFTPlan< T >::FwdFFTPlan ( std::complex< T > *  out,
T *  in,
int  n,
int  nembed,
int  stride,
int  dist,
int  batch = 1,
unsigned  flags = FFTW_MEASURE,
int  threads = detail::getMaxThreads() 
)

1-D real-to-complex forward transform

Parameters
[out]outOutput buffer
[in,out]inInput data
[in]nTransform size
[in]nembedSize of the array(s) containing in & out
[in]strideStride between adjacent elements in the input/output
[in]distStride between adjacent batches in the input/output
[in]batchBatch size
[in]flagsFFTW plan creation flags
[in]threadsThread count for parallel execution
template<typename T>
template<int Rank>
isce3::fft::FwdFFTPlan< T >::FwdFFTPlan ( std::complex< T > *  out,
T *  in,
const int(&)  n[Rank],
const int(&)  nembed[Rank],
int  stride,
int  dist,
int  batch = 1,
unsigned  flags = FFTW_MEASURE,
int  threads = detail::getMaxThreads() 
)

N-D real-to-complex forward transform.

Template Parameters
RankTransform dimensionality
Parameters
[out]outOutput buffer
[in,out]inInput data
[in]nSize of each transform dimension
[in]nembedShape of the array(s) containing in & out
[in]strideStride between adjacent elements in the input/output
[in]distStride between adjacent batches in the input/output
[in]batchBatch size
[in]flagsFFTW plan creation flags
[in]threadsThread count for parallel execution
template<typename T>
isce3::fft::FwdFFTPlan< T >::FwdFFTPlan ( std::complex< T > *  out,
T *  in,
int  n,
int  inembed,
int  istride,
int  idist,
int  onembed,
int  ostride,
int  odist,
int  batch = 1,
unsigned  flags = FFTW_MEASURE,
int  threads = detail::getMaxThreads() 
)

1-D real-to-complex forward transform

Parameters
[out]outOutput buffer
[in,out]inInput data
[in]nTransform size
[in]inembedSize of the array containing in
[in]istrideStride between adjacent elements in the input
[in]idistStride between adjacent batches in the input
[in]onembedSize of the array containing out
[in]ostrideStride between adjacent elements in the output
[in]odistStride between adjacent batches in the output
[in]batchBatch size
[in]flagsFFTW plan creation flags
[in]threadsThread count for parallel execution
template<typename T>
template<int Rank>
isce3::fft::FwdFFTPlan< T >::FwdFFTPlan ( std::complex< T > *  out,
T *  in,
const int(&)  n[Rank],
const int(&)  inembed[Rank],
int  istride,
int  idist,
const int(&)  onembed[Rank],
int  ostride,
int  odist,
int  batch = 1,
unsigned  flags = FFTW_MEASURE,
int  threads = detail::getMaxThreads() 
)

N-D real-to-complex forward transform.

Template Parameters
RankTransform dimensionality
Parameters
[out]outOutput buffer
[in,out]inInput data
[in]nSize of each transform dimension
[in]inembedShape of the array containing in
[in]istrideStride between adjacent elements in the input
[in]idistStride between adjacent batches in the input
[in]onembedShape of the array containing out
[in]ostrideStride between adjacent elements in the output
[in]odistStride between adjacent batches in the output
[in]batchBatch size
[in]flagsFFTW plan creation flags
[in]threadsThread count for parallel execution

The documentation for this class was generated from the following files:

Generated for ISCE3.0 by doxygen 1.8.5.