Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType > Class Template Reference

#include <ConvolutionFunctor.h>

Inheritance diagram for hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >:
Collaboration diagram for hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >:

Public Types

typedef detail::convolution::_traits< hydra::thrust::tuple< Functor, Kernel >, ArgType >::return_type return_t
 

Public Member Functions

 ConvolutionFunctor ()=delete
 
 ConvolutionFunctor (Functor const &functor, Kernel const &kernel, value_type kmin, value_type kmax, unsigned nsamples=1024, bool interpolate=true, bool power_up=true)
 
__hydra_host__ __hydra_device__ ConvolutionFunctor (this_type const &other)
 
virtual ~ConvolutionFunctor ()=default
 
void Dispose ()
 
__hydra_host__ __hydra_device__ return_t Evaluate (ArgType X) const
 
__hydra_host__ __hydra_device__ const device_pointer_type & GetDeviceData () const
 
__hydra_host__ __hydra_device__ const fft_pointer_type & GetFFTData () const
 
__hydra_host__ __hydra_device__ const host_pointer_type & GetHostData () const
 
__hydra_host__ __hydra_device__ value_type GetMax () const
 
__hydra_host__ __hydra_device__ value_type GetMin () const
 
__hydra_host__ __hydra_device__ size_t GetNSamples () const
 
__hydra_host__ __hydra_device__ const abiscissae_type & GetXMax () const
 
__hydra_host__ __hydra_device__ const abiscissae_type & GetXMin () const
 
__hydra_host__ __hydra_device__ bool IsInterpolated () const
 
__hydra_host__ __hydra_device__ this_typeoperator= (this_type const &other)
 
__hydra_host__ __hydra_device__ void SetInterpolate (bool interpolate)
 
virtual void Update () override
 

Detailed Description

template<typename Functor, typename Kernel, detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType>
class hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >

Member Typedef Documentation

◆ return_t

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
typedef detail::convolution::_traits<hydra::thrust::tuple<Functor, Kernel>, ArgType>::return_type hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::return_t

Constructor & Destructor Documentation

◆ ConvolutionFunctor() [1/3]

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::ConvolutionFunctor ( )
delete

◆ ConvolutionFunctor() [2/3]

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::ConvolutionFunctor ( Functor const &  functor,
Kernel const &  kernel,
value_type  kmin,
value_type  kmax,
unsigned  nsamples = 1024,
bool  interpolate = true,
bool  power_up = true 
)
inline

◆ ConvolutionFunctor() [3/3]

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::ConvolutionFunctor ( this_type const &  other)
inline

◆ ~ConvolutionFunctor()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
virtual hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::~ConvolutionFunctor ( )
virtualdefault

Member Function Documentation

◆ Dispose()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
void hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::Dispose ( )
inline

◆ Evaluate()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ return_t hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::Evaluate ( ArgType  X) const
inline

◆ GetDeviceData()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ const device_pointer_type& hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetDeviceData ( ) const
inline

◆ GetFFTData()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ const fft_pointer_type& hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetFFTData ( ) const
inline

◆ GetHostData()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ const host_pointer_type& hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetHostData ( ) const
inline

◆ GetMax()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ value_type hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetMax ( ) const
inline

◆ GetMin()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ value_type hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetMin ( ) const
inline

◆ GetNSamples()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ size_t hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetNSamples ( ) const
inline

◆ GetXMax()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ const abiscissae_type& hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetXMax ( ) const
inline

◆ GetXMin()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ const abiscissae_type& hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::GetXMin ( ) const
inline

◆ IsInterpolated()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ bool hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::IsInterpolated ( ) const
inline

◆ operator=()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ this_type& hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::operator= ( this_type const &  other)
inline

◆ SetInterpolate()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
__hydra_host__ __hydra_device__ void hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::SetInterpolate ( bool  interpolate)
inline

◆ Update()

template<typename Functor , typename Kernel , detail::Backend BACKEND, detail::FFTCalculator FFT, typename ArgType >
virtual void hydra::ConvolutionFunctor< Functor, Kernel, detail::BackendPolicy< BACKEND >, detail::FFTPolicy< typename std::common_type< typename Functor::return_type, typename Kernel::return_type >::type, FFT >, ArgType >::Update ( )
inlineoverridevirtual

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