RAII wrapper encapsulating FFTW plan for forward FFT execution. More...
#include <FFTPlan.h>
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 |
RAII wrapper encapsulating FFTW plan for forward FFT execution.
|
inline |
Construct an invalid plan.
The plan is allocated but not initialized. It should not be executed.
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
[out] | out | Output buffer |
[in,out] | in | Input data |
[in] | n | Transform size |
[in] | batch | Batch size |
[in] | flags | FFTW plan creation flags |
[in] | threads | Thread count for parallel execution |
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.
Rank | Transform dimensionality |
[out] | out | Output buffer |
[in,out] | in | Input data |
[in] | n | Size of each transform dimension |
[in] | batch | Batch size |
[in] | flags | FFTW plan creation flags |
[in] | threads | Thread count for parallel execution |
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
[out] | out | Output buffer |
[in,out] | in | Input data |
[in] | n | Transform size |
[in] | nembed | Size of the array(s) containing in & out |
[in] | stride | Stride between adjacent elements in the input/output |
[in] | dist | Stride between adjacent batches in the input/output |
[in] | batch | Batch size |
[in] | flags | FFTW plan creation flags |
[in] | threads | Thread count for parallel execution |
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.
Rank | Transform dimensionality |
[out] | out | Output buffer |
[in,out] | in | Input data |
[in] | n | Size of each transform dimension |
[in] | nembed | Shape of the array(s) containing in & out |
[in] | stride | Stride between adjacent elements in the input/output |
[in] | dist | Stride between adjacent batches in the input/output |
[in] | batch | Batch size |
[in] | flags | FFTW plan creation flags |
[in] | threads | Thread count for parallel execution |
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
[out] | out | Output buffer |
[in,out] | in | Input data |
[in] | n | Transform size |
[in] | inembed | Size of the array containing in |
[in] | istride | Stride between adjacent elements in the input |
[in] | idist | Stride between adjacent batches in the input |
[in] | onembed | Size of the array containing out |
[in] | ostride | Stride between adjacent elements in the output |
[in] | odist | Stride between adjacent batches in the output |
[in] | batch | Batch size |
[in] | flags | FFTW plan creation flags |
[in] | threads | Thread count for parallel execution |
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.
Rank | Transform dimensionality |
[out] | out | Output buffer |
[in,out] | in | Input data |
[in] | n | Size of each transform dimension |
[in] | inembed | Shape of the array containing in |
[in] | istride | Stride between adjacent elements in the input |
[in] | idist | Stride between adjacent batches in the input |
[in] | onembed | Shape of the array containing out |
[in] | ostride | Stride between adjacent elements in the output |
[in] | odist | Stride between adjacent batches in the output |
[in] | batch | Batch size |
[in] | flags | FFTW plan creation flags |
[in] | threads | Thread count for parallel execution |