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

#include <ComplexToComplexCuFFT.h>

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

Public Member Functions

 ComplexToComplexCuFFT ()=delete
 
 ComplexToComplexCuFFT (int logical_size, int sign=1)
 
 ComplexToComplexCuFFT (ComplexToComplexCuFFT< T, InputType, OutputType, PlanType > &&other)
 
 ~ComplexToComplexCuFFT ()
 
ComplexToComplexCuFFT< T, InputType, OutputType, PlanType > & operator= (ComplexToComplexCuFFT< T, InputType, OutputType, PlanType > &&other)
 
void SetSize (int logical_size)
 
- Public Member Functions inherited from hydra::BaseCuFFT< InputType, OutputType, PlanType >
 BaseCuFFT ()=delete
 
 BaseCuFFT (int input_size, int output_size, int sign=0)
 
 BaseCuFFT (BaseCuFFT< InputType, OutputType, PlanType > &&other)
 
virtual ~BaseCuFFT ()
 
void Execute ()
 
detail::cufft::_PlanDestroyer GetDestroyer () const
 
const detail::cufft::_PlanExecutor GetExecutor () 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, const InputType *data)
 
void LoadInputData (int size, input_tagged_ptr_type data)
 
BaseCuFFT< InputType, OutputType, PlanType > & operator= (BaseCuFFT< InputType, OutputType, PlanType > &&other)
 
void Reset (int ninput, int noutput)
 
void SetPlanner (PlanType planner)
 
void SetSign (int sign)
 

Additional Inherited Members

- Protected Types inherited from hydra::BaseCuFFT< InputType, OutputType, PlanType >
typedef std::unique_ptr< InputType, detail::cufft::_Deleterinput_ptr_type
 
typedef hydra::thrust::pointer< InputType, hydra::thrust::cuda::tag > input_tagged_ptr_type
 
typedef std::unique_ptr< OutputType, detail::cufft::_Deleteroutput_ptr_type
 
typedef hydra::thrust::pointer< OutputType, hydra::thrust::cuda::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 = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2Z>, detail::cufft::_Planner<CUFFT_C2C> >::type>
class hydra::ComplexToComplexCuFFT< T, InputType, OutputType, PlanType >

Examples:
cufft.inl.

Constructor & Destructor Documentation

◆ ComplexToComplexCuFFT() [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 = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2Z>, detail::cufft::_Planner<CUFFT_C2C> >::type>
hydra::ComplexToComplexCuFFT< T, InputType, OutputType, PlanType >::ComplexToComplexCuFFT ( )
delete

◆ ComplexToComplexCuFFT() [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 = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2Z>, detail::cufft::_Planner<CUFFT_C2C> >::type>
hydra::ComplexToComplexCuFFT< T, InputType, OutputType, PlanType >::ComplexToComplexCuFFT ( int  logical_size,
int  sign = 1 
)
inline

◆ ComplexToComplexCuFFT() [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 = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2Z>, detail::cufft::_Planner<CUFFT_C2C> >::type>
hydra::ComplexToComplexCuFFT< T, InputType, OutputType, PlanType >::ComplexToComplexCuFFT ( ComplexToComplexCuFFT< T, InputType, OutputType, PlanType > &&  other)
inline

◆ ~ComplexToComplexCuFFT()

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 = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2Z>, detail::cufft::_Planner<CUFFT_C2C> >::type>
hydra::ComplexToComplexCuFFT< T, InputType, OutputType, PlanType >::~ComplexToComplexCuFFT ( )
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 = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2Z>, detail::cufft::_Planner<CUFFT_C2C> >::type>
ComplexToComplexCuFFT<T,InputType, OutputType, PlanType >& hydra::ComplexToComplexCuFFT< T, InputType, OutputType, PlanType >::operator= ( ComplexToComplexCuFFT< 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 = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2Z>, detail::cufft::_Planner<CUFFT_C2C> >::type>
void hydra::ComplexToComplexCuFFT< T, InputType, OutputType, PlanType >::SetSize ( int  logical_size)
inlinevirtual

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