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

#include <ComplexToRealCuFFT.h>

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

Public Member Functions

 ComplexToRealCuFFT ()=delete
 
 ComplexToRealCuFFT (int logical_size)
 
 ComplexToRealCuFFT (ComplexToRealCuFFT< T, InputType, OutputType, PlanType > &&other)
 
 ~ComplexToRealCuFFT ()
 
ComplexToRealCuFFT< T, InputType, OutputType, PlanType > & operator= (ComplexToRealCuFFT< 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 = T, typename PlanType = typename std::conditional< std::is_same<double,T>::value, detail::cufft::_Planner<CUFFT_Z2D>, detail::cufft::_Planner<CUFFT_C2R> >::type>
class hydra::ComplexToRealCuFFT< T, InputType, OutputType, PlanType >

Examples:
cufft.inl.

Constructor & Destructor Documentation

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

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

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

◆ ~ComplexToRealCuFFT()

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

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