27#ifndef fftwTemplates_hpp
28#define fftwTemplates_hpp
67typedef std::complex<__float128> complexQT;
85template <
typename realT>
90template <
typename realT>
128 typedef fftwq_plan
planT;
165template <
typename _inputDataT,
typename _outputDataT>
170template <
typename _inputDataT,
typename _outputDataT>
212 typedef float outputDataT;
233 typedef double inputDataT;
245 typedef double outputDataT;
266 typedef long double inputDataT;
278 typedef long double outputDataT;
287 typedef __float128
realT;
296struct fftwTypeSpec<__float128, complexQT>
298 typedef __float128 realT;
307struct fftwTypeSpec<complexQT, __float128>
309 typedef __float128 realT;
335template <
typename realT>
367template <
typename realT>
393template <
typename realT>
430template <
typename realT>
465template <
typename realT>
508template <
typename realT>
530template <
typename realT>
562template <
typename inputDataT,
typename outputDataT>
564fftw_plan_dft( std::vector<int> n, inputDataT *in, outputDataT *out,
int sign,
unsigned flags );
619template <
typename realT>
639template <
typename realT>
677template <
typename inputDataT,
typename outputDataT>
710template <
typename realT>
realT * fftw_malloc(size_t n)
Call to fftw_malloc, with type cast.
void fftw_free(realT *p)
Call to fftw_free.
void fftw_destroy_plan(typename fftwPlanSpec< realT >::planT plan)
Destroy the given plan.
void fftw_execute_dft(typename fftwTypeSpec< inputDataT, outputDataT >::planT plan, inputDataT *in, outputDataT *out)
Execute the given plan on the given arrays.
void fftw_make_planner_thread_safe()
Wrapper for fftwX_make_planner_thread_safe().
void fftw_cleanup_threads()
Cleanup persistent planner data and threads data.
fftwTypeSpec< inputDataT, outputDataT >::planT fftw_plan_dft(std::vector< int > n, inputDataT *in, outputDataT *out, int sign, unsigned flags)
Wrapper for the fftwX_plan_dft functions.
void fftw_cleanup()
Cleanup persistent planner data.
void fftw_plan_with_nthreads(int nthreads)
Tell the FFTW planner how many threads to use.
std::complex< double > complexDT
The complex double data type.
std::complex< long double > complexLT
The complex long double data type.
std::complex< float > complexFT
The complex float data type.
int fftw_import_wisdom_from_filename(const char *filename)
Template wrapper for fftwX_import_wisdom_from_filename(const char *);.
int fftw_export_wisdom_to_filename(const char *filename)
Template wrapper for fftwX_export_wisdom_to_filename(const char *);.
int fftw_import_system_wisdom()
Template wrapper for fftwX_import_system_wisdom();.
fftw_plan planT
Specifies fftw_plan as planT.
fftwf_plan planT
Specifies fftwf_plan as planT.
fftwl_plan planT
Specifies fftwl_plan as planT.
Specify the type of the plan based on the real type of the data.
double realT
The real data type.
double realT
The real data type.
complexFT inputDataT
The input array data type.
float realT
The real data type.
fftwPlanSpec< float >::planT planT
The plan type.
complexFT complexT
The complex data type.
complexFT outputDataT
The output array data type.
float realT
The real data type.
long double realT
The real data type.
long double realT
The real data type.
double realT
The real data type.
float inputDataT
The input array data type.
fftwPlanSpec< float >::planT planT
The plan type.
complexFT outputDataT
The output array data type.
complexFT complexT
The complex data type.
float realT
The real data type.
long double realT
The real data type.
A structure specifying various types based on the FFT input and output data types.
fftwPlanSpec< realT >::planT planT
std::complex< realT > complexT