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.
#include <complex>
#include <vector>
#include <fftw3.h>
Go to the source code of this file.
Classes | |
struct | mx::math::ft::fftwPlanSpec< realT > |
Specify the type of the plan based on the real type of the data. More... | |
struct | mx::math::ft::fftwPlanSpec< float > |
Specialization of fftwPlanSpec for float. More... | |
struct | mx::math::ft::fftwPlanSpec< double > |
Specialization of fftwPlanSpec for double. More... | |
struct | mx::math::ft::fftwPlanSpec< long double > |
Specialization of fftwPlanSpec for long double. More... | |
struct | mx::math::ft::fftwTypeSpec< _inputDataT, _outputDataT > |
A structure specifying various types based on the FFT input and output data types. More... | |
struct | mx::math::ft::fftwTypeSpec< complexFT, complexFT > |
Specialization of fftwTypeSpec for complex-float input and complex-float output. More... | |
struct | mx::math::ft::fftwTypeSpec< float, complexFT > |
Specialization of fftwTypeSpec for real-float input and complex-float output. More... | |
struct | mx::math::ft::fftwTypeSpec< complexFT, float > |
Specialization of fftwTypeSpec for complex-float input and real-float output. More... | |
struct | mx::math::ft::fftwTypeSpec< complexDT, complexDT > |
Specialization of fftwTypeSpec for complex-double input and complex-double output. More... | |
struct | mx::math::ft::fftwTypeSpec< double, complexDT > |
Specialization of fftwTypeSpec for real-double input and complex-double output. More... | |
struct | mx::math::ft::fftwTypeSpec< complexDT, double > |
Specialization of fftwTypeSpec for complex-double input and double output. More... | |
struct | mx::math::ft::fftwTypeSpec< complexLT, complexLT > |
Specialization of fftwTypeSpec for complex-long-double input and complex-long-double output. More... | |
struct | mx::math::ft::fftwTypeSpec< long double, complexLT > |
Specialization of fftwTypeSpec for real-long-double input and complex-long-double output. More... | |
struct | mx::math::ft::fftwTypeSpec< complexLT, long double > |
Specialization of fftwTypeSpec for complex-long-double input and real-long-double output. More... | |
Namespaces | |
namespace | mx |
The mxlib c++ namespace. | |
Typedefs | |
typedef std::complex< float > | mx::math::ft::complexFT |
The complex float data type. | |
typedef std::complex< double > | mx::math::ft::complexDT |
The complex double data type. | |
typedef std::complex< long double > | mx::math::ft::complexLT |
The complex long double data type. | |
Functions | |
template<typename realT > | |
int | mx::math::ft::fftw_import_system_wisdom () |
Template wrapper for fftwX_import_system_wisdom();. | |
template<typename realT > | |
int | mx::math::ft::fftw_import_wisdom_from_filename (const char *filename) |
Template wrapper for fftwX_import_wisdom_from_filename(const char *);. | |
template<typename realT > | |
int | mx::math::ft::fftw_export_wisdom_to_filename (const char *filename) |
Template wrapper for fftwX_export_wisdom_to_filename(const char *);. | |
template<typename realT > | |
realT * | mx::math::ft::fftw_malloc (size_t n) |
Call to fftw_malloc, with type cast. | |
template<typename realT > | |
void | mx::math::ft::fftw_free (realT *p) |
Call to fftw_free. | |
template<typename realT > | |
void | mx::math::ft::fftw_make_planner_thread_safe () |
Wrapper for fftwX_make_planner_thread_safe() | |
template<typename realT > | |
void | mx::math::ft::fftw_plan_with_nthreads (int nthreads) |
Tell the FFTW planner how many threads to use. | |
template<typename inputDataT , typename outputDataT > | |
fftwTypeSpec< inputDataT, outputDataT >::planT | mx::math::ft::fftw_plan_dft (std::vector< int > n, inputDataT *in, outputDataT *out, int sign, unsigned flags) |
Wrapper for the fftwX_plan_dft functions. | |
template<typename realT > | |
void | mx::math::ft::fftw_cleanup () |
Cleanup persistent planner data. | |
template<typename realT > | |
void | mx::math::ft::fftw_cleanup_threads () |
Cleanup persistent planner data and threads data. | |
template<typename inputDataT , typename outputDataT > | |
void | mx::math::ft::fftw_execute_dft (typename fftwTypeSpec< inputDataT, outputDataT >::planT plan, inputDataT *in, outputDataT *out) |
Execute the given plan on the given arrays. | |
template<typename realT > | |
void | mx::math::ft::fftw_destroy_plan (typename fftwPlanSpec< realT >::planT plan) |
Destroy the given plan. | |