mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
|
Declares and defines templatized wrappers for the fftw library. More...
Declares and defines templatized wrappers for the fftw library.
Definition in file fftwTemplates.hpp.
Go to the source code of this file.
Classes | |
struct | mx::math::fft::fftwPlanSpec< realT > |
Specify the type of the plan based on the real type of the data. More... | |
struct | mx::math::fft::fftwPlanSpec< float > |
Specialization of fftwPlanSpec for float. More... | |
struct | mx::math::fft::fftwPlanSpec< double > |
Specialization of fftwPlanSpec for double. More... | |
struct | mx::math::fft::fftwPlanSpec< long double > |
Specialization of fftwPlanSpec for long double. More... | |
struct | mx::math::fft::fftwPlanSpec< __float128 > |
Specialization of fftwPlanSpec for __float128. More... | |
struct | mx::math::fft::fftwTypeSpec< _inputDataT, _outputDataT > |
A structure specifying various types based on the FFT input and output data types. More... | |
struct | mx::math::fft::fftwTypeSpec< complexFT, complexFT > |
Specialization of fftwTypeSpec for complex-float input and complex-float output. More... | |
struct | mx::math::fft::fftwTypeSpec< float, complexFT > |
Specialization of fftwTypeSpec for real-float input and complex-float output. More... | |
struct | mx::math::fft::fftwTypeSpec< complexFT, float > |
Specialization of fftwTypeSpec for complex-float input and real-float output. More... | |
struct | mx::math::fft::fftwTypeSpec< complexDT, complexDT > |
Specialization of fftwTypeSpec for complex-double input and complex-double output. More... | |
struct | mx::math::fft::fftwTypeSpec< double, complexDT > |
Specialization of fftwTypeSpec for real-double input and complex-double output. More... | |
struct | mx::math::fft::fftwTypeSpec< complexDT, double > |
Specialization of fftwTypeSpec for complex-double input and double output. More... | |
struct | mx::math::fft::fftwTypeSpec< complexLT, complexLT > |
Specialization of fftwTypeSpec for complex-long-double input and complex-long-double output. More... | |
struct | mx::math::fft::fftwTypeSpec< long double, complexLT > |
Specialization of fftwTypeSpec for real-long-double input and complex-long-double output. More... | |
struct | mx::math::fft::fftwTypeSpec< complexLT, long double > |
Specialization of fftwTypeSpec for complex-long-double input and real-long-double output. More... | |
struct | mx::math::fft::fftwTypeSpec< complexQT, complexQT > |
Specialization of fftwTypeSpec for complex-quad input and complex-quad output. More... | |
struct | mx::math::fft::fftwTypeSpec< __float128, complexQT > |
Specialization of fftwTypeSpec for real-quad input and complex-quad output. More... | |
struct | mx::math::fft::fftwTypeSpec< complexQT, __float128 > |
Specialization of fftwTypeSpec for complex-quad input and real-quad output. More... | |
Namespaces | |
mx | |
The mxlib c++ namespace. | |
Typedefs | |
typedef std::complex< float > | mx::math::fft::complexFT |
The complex float data type. More... | |
typedef std::complex< double > | mx::math::fft::complexDT |
The complex double data type. More... | |
typedef std::complex< long double > | mx::math::fft::complexLT |
The complex long double data type. More... | |
typedef std::complex< __float128 > | mx::math::fft::complexQT |
The complex __float128 data type. More... | |
Functions | |
template<typename realT > | |
int | mx::math::fft::fftw_import_system_wisdom () |
Template wrapper for fftwX_import_system_wisdom();. More... | |
template<typename realT > | |
int | mx::math::fft::fftw_import_wisdom_from_filename (const char *filename) |
Template wrapper for fftwX_import_wisdom_from_filename(const char *);. More... | |
template<typename realT > | |
int | mx::math::fft::fftw_export_wisdom_to_filename (const char *filename) |
Template wrapper for fftwX_export_wisdom_to_filename(const char *);. More... | |
template<typename realT > | |
realT * | mx::math::fft::fftw_malloc (size_t n) |
Call to fftw_malloc, with type cast. More... | |
template<typename realT > | |
void | mx::math::fft::fftw_free (realT *p) |
Call to fftw_free. More... | |
template<typename realT > | |
void | mx::math::fft::fftw_make_planner_thread_safe () |
Wrapper for fftwX_make_planner_thread_safe() More... | |
template<typename realT > | |
void | mx::math::fft::fftw_plan_with_nthreads (int nthreads) |
Tell the FFTW planner how many threads to use. More... | |
template<typename inputDataT , typename outputDataT > | |
fftwTypeSpec< inputDataT, outputDataT >::planT | mx::math::fft::fftw_plan_dft (std::vector< int > n, inputDataT *in, outputDataT *out, int sign, unsigned flags) |
Wrapper for the fftwX_plan_dft functions. More... | |
template<typename realT > | |
void | mx::math::fft::fftw_cleanup () |
Cleanup persistent planner data. More... | |
template<typename realT > | |
void | mx::math::fft::fftw_cleanup_threads () |
Cleanup persistent planner data and threads data. More... | |
template<typename inputDataT , typename outputDataT > | |
void | mx::math::fft::fftw_execute_dft (typename fftwTypeSpec< inputDataT, outputDataT >::planT plan, inputDataT *in, outputDataT *out) |
Execute the given plan on the given arrays. More... | |
template<typename realT > | |
void | mx::math::fft::fftw_destroy_plan (typename fftwPlanSpec< realT >::planT plan) |
Destroy the given plan. More... | |