Highly Efficient FFT for Exascale: HeFFTe v2.3
Collaboration diagram for Backend fftw3:

Classes

struct  heffte::backend::is_enabled< fftw >
 Indicate that the FFTW backend has been enabled. More...
 
struct  heffte::backend::is_enabled< fftw_cos >
 Indicate that the cos() transform using the FFTW backend has been enabled. More...
 
struct  heffte::backend::is_enabled< fftw_sin >
 Indicate that the cos() transform using the FFTW backend has been enabled. More...
 
struct  heffte::is_ccomplex< fftwf_complex >
 Recognize the FFTW single precision complex type. More...
 
struct  heffte::is_zcomplex< fftw_complex >
 Recognize the FFTW double precision complex type. More...
 
struct  heffte::plan_fftw< typename, direction >
 Base plan for fftw, using only the specialization for float and double complex. More...
 
struct  heffte::plan_fftw< std::complex< float >, dir >
 Plan for the single precision complex transform. More...
 
struct  heffte::plan_fftw< std::complex< double >, dir >
 Specialization for double complex. More...
 
class  heffte::fftw_executor
 Wrapper around the FFTW3 API. More...
 
struct  heffte::plan_fftw< float, dir >
 Specialization for r2c single precision. More...
 
struct  heffte::plan_fftw< double, dir >
 Specialization for r2c double precision. More...
 
class  heffte::fftw_executor_r2c
 Wrapper to fftw3 API for real-to-complex transform with shortening of the data. More...
 
struct  heffte::one_dim_backend< backend::fftw >
 Helper struct that defines the types and creates instances of one-dimensional executors. More...
 
struct  heffte::one_dim_backend< backend::fftw_cos >
 Helper struct that defines the types and creates instances of one-dimensional executors. More...
 
struct  heffte::one_dim_backend< backend::fftw_sin >
 Helper struct that defines the types and creates instances of one-dimensional executors. More...
 
struct  heffte::default_plan_options< backend::fftw >
 Sets the default options for the fftw backend. More...
 
struct  heffte::default_plan_options< backend::fftw_cos >
 Sets the default options for the fftw backend. More...
 
struct  heffte::default_plan_options< backend::fftw_sin >
 Sets the default options for the fftw backend. More...
 
struct  heffte::backend::fftw
 Type-tag for the FFTW backend. More...
 
struct  heffte::backend::fftw_cos
 Type-tag for the Cosine Transform using the FFTW backend. More...
 
struct  heffte::backend::fftw_sin
 Type-tag for the Sine Transform using the FFTW backend. More...
 

Functions

template<>
std::string heffte::backend::name< fftw > ()
 Returns the human readable name of the FFTW backend.
 
template<>
std::string heffte::backend::name< fftw_cos > ()
 Returns the human readable name of the FFTW backend.
 
template<>
std::string heffte::backend::name< fftw_sin > ()
 Returns the human readable name of the FFTW backend.
 

Detailed Description

Wrappers and template specializations related to the FFTW backend. Requires CMake option:

-D Heffte_ENABLE_FFTW=ON