Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType > Class Template Reference

#include <ComplexToComplexFFTW.h>

Inheritance diagram for hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >:
Collaboration diagram for hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >:

Public Member Functions

 ComplexToComplexFFTW ()=delete
 
 ComplexToComplexFFTW (int logical_size, int sign=+1, unsigned flags=FFTW_ESTIMATE)
 
 ComplexToComplexFFTW (ComplexToComplexFFTW< T, InputType, OutputType, PlanType > &&other)
 
 ~ComplexToComplexFFTW ()
 
ComplexToComplexFFTW< T, InputType, OutputType, PlanType > & operator= (ComplexToComplexFFTW< T, InputType, OutputType, PlanType > &&other)
 
void SetSize (int logical_size)
 
- Public Member Functions inherited from hydra::BaseFFTW< InputType, OutputType, PlanType >
 BaseFFTW ()=delete
 
 BaseFFTW (int input_size, int output_size, unsigned flags=FFTW_ESTIMATE, int sign=0)
 
 BaseFFTW (BaseFFTW< InputType, OutputType, PlanType > &&other)
 
virtual ~BaseFFTW ()
 
void Execute ()
 
detail::fftw::_PlanDestroyer GetDestroyer () const
 
const detail::fftw::_PlanExecutor GetExecutor () const
 
unsigned GetFlags () const
 
hydra::pair< input_tagged_ptr_type, intGetInputData ()
 
int GetNInput () const
 
int GetNOutput () const
 
hydra::pair< output_tagged_ptr_type, intGetOutputData ()
 
PlanType GetPlanner () const
 
int GetSign () const
 
int GetSize () const
 
std::enable_if< std::is_convertible< InputType, Type >::value &&detail::is_iterable< Iterable >::value, void >::type LoadInputData (Iterable &&container)
 
void LoadInputData (int size, input_tagged_ptr_type data)
 
void LoadInputData (int size, const InputType *data)
 
BaseFFTW< InputType, OutputType, PlanType > & operator= (BaseFFTW< InputType, OutputType, PlanType > &&other)
 
void Reset (int ninput, int noutput)
 
void SetFlags (unsigned flags)
 
void SetPlanner (PlanType planner)
 
void SetSign (int sign)
 

Additional Inherited Members

- Protected Types inherited from hydra::BaseFFTW< InputType, OutputType, PlanType >
typedef std::unique_ptr< InputType, detail::fftw::_Deleterinput_ptr_type
 
typedef hydra::thrust::pointer< InputType, hydra::thrust::host_system_tag > input_tagged_ptr_type
 
typedef std::unique_ptr< OutputType, detail::fftw::_Deleteroutput_ptr_type
 
typedef hydra::thrust::pointer< OutputType, hydra::thrust::host_system_tag > output_tagged_ptr_type
 
typedef PlanType ::plan_type plan_type
 

Detailed Description

template<typename T, typename InputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename OutputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename PlanType = detail::fftw::_Planner>
class hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >

Examples:
fft.inl.

Constructor & Destructor Documentation

◆ ComplexToComplexFFTW() [1/3]

template<typename T, typename InputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename OutputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename PlanType = detail::fftw::_Planner>
hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >::ComplexToComplexFFTW ( )
delete

◆ ComplexToComplexFFTW() [2/3]

template<typename T, typename InputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename OutputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename PlanType = detail::fftw::_Planner>
hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >::ComplexToComplexFFTW ( int  logical_size,
int  sign = +1,
unsigned  flags = FFTW_ESTIMATE 
)
inline

◆ ComplexToComplexFFTW() [3/3]

template<typename T, typename InputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename OutputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename PlanType = detail::fftw::_Planner>
hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >::ComplexToComplexFFTW ( ComplexToComplexFFTW< T, InputType, OutputType, PlanType > &&  other)
inline

◆ ~ComplexToComplexFFTW()

template<typename T, typename InputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename OutputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename PlanType = detail::fftw::_Planner>
hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >::~ComplexToComplexFFTW ( )
inline

Member Function Documentation

◆ operator=()

template<typename T, typename InputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename OutputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename PlanType = detail::fftw::_Planner>
ComplexToComplexFFTW<T,InputType, OutputType, PlanType >& hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >::operator= ( ComplexToComplexFFTW< T, InputType, OutputType, PlanType > &&  other)
inline

◆ SetSize()

template<typename T, typename InputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename OutputType = typename std::conditional< std::is_same<double,T>::value, hydra::complex<double>, hydra::complex<float>>::type, typename PlanType = detail::fftw::_Planner>
void hydra::ComplexToComplexFFTW< T, InputType, OutputType, PlanType >::SetSize ( int  logical_size)
inlinevirtual

The documentation for this class was generated from the following file: