Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature > Class Template Reference

#include <Spline4DFunctor.h>

Inheritance diagram for hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >:
Collaboration diagram for hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >:

Public Member Functions

 Spline4DFunctor ()=delete
 
 Spline4DFunctor (IteratorX xfirst, IteratorX xlast, IteratorY yfirst, IteratorY ylast, IteratorW wfirst, IteratorW wlast, IteratorZ zfirst, IteratorZ zlast, IteratorM mfirst)
 
__hydra_host__ __hydra_device__ Spline4DFunctor (Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType1 X, ArgType2 Y, ArgType3 W, ArgType4 Z) const
 
__hydra_host__ __hydra_device__ IteratorM GetM () const
 
__hydra_host__ __hydra_device__ size_t GetSizeW () const
 
__hydra_host__ __hydra_device__ size_t GetSizeX () const
 
__hydra_host__ __hydra_device__ size_t GetSizeY () const
 
__hydra_host__ __hydra_device__ size_t GetSizeZ () const
 
__hydra_host__ __hydra_device__ IteratorY GetW () const
 
__hydra_host__ __hydra_device__ IteratorX GetX () const
 
__hydra_host__ __hydra_device__ IteratorY GetY () const
 
__hydra_host__ __hydra_device__ IteratorZ GetZ () const
 
__hydra_host__ __hydra_device__ Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 > & operator= (Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >, Signature, 0 >
__hydra_host__ __hydra_device__ BaseFunctor ()
 Default constructor. More...
 
 BaseFunctor (std::initializer_list< Parameter > init_parameters)
 Constructor taking a list of parameters. More...
 
 BaseFunctor (std::array< Parameter, NPARAM > const &init_parameters)
 Constructor taking std::array of parameters. More...
 
__hydra_host__ __hydra_device__ BaseFunctor (BaseFunctor< Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 > & GetFunctor ()
 
__hydra_host__ __hydra_device__ GReal_t GetNorm () const
 
__hydra_host__ __hydra_device__ std::enable_if<(!detail::is_valid_type_pack< argument_type, T... >::value), return_type >::type operator() (T...x) const
 
__hydra_host__ __hydra_device__ std::enable_if< detail::is_valid_type_pack< argument_type, T... >::value, return_type >::type operator() (T...x) const
 Function call operator overload taking a pack of parameters convertible to the lambda signature. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(detail::is_tuple_type< typename std::decay< T >::type >::value) &&(!detail::is_tuple_of_function_arguments< typename std::decay< T >::type >::value) &&(hydra::thrust::detail::is_convertible< typename std::decay< T >::type, argument_type >::value), return_type >::type operator() (T x) const
 Unary function call operator overload taking a tuple containing the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(detail::is_tuple_type< typename std::decay< T >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T >::type >::value), return_type >::type operator() (T x) const
 Unary function call operator overload taking a tuple containing the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(detail::is_tuple_type< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_type< typename std::decay< T2 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T2 >::type >::value), return_type >::type operator() (T1 x, T2 y) const
 Binary function call operator overload taking two tuples containing the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(!detail::is_tuple_type< typename std::decay< T1 >::type >::value) &&(detail::is_function_argument< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_type< typename std::decay< T2 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T2 >::type >::value), return_type >::type operator() (T1 x, T2 y) const
 Binary function call operator overload taking one tuple and a non-tuple, that containing put together would contain the lambda arguments in any order. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(!detail::is_tuple_type< typename std::decay< T1 >::type >::value) &&(detail::is_function_argument< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_type< typename std::decay< T2 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T2 >::type >::value), return_type >::type operator() (T2 y, T1 x) const
 Binary function call operator overload taking one tuple and a non-tuple, that containing put together would contain the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ BaseFunctor< Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >, Signature, NPARAM > & operator= (BaseFunctor< Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >, Signature, NPARAM > const &other)
 Assignment operator. More...
 
void PrintRegisteredParameters ()
 Print registered parameters. More...
 
__hydra_host__ __hydra_device__ void SetNorm (GReal_t norm)
 
- Public Member Functions inherited from hydra::detail::Parameters< NPARAM >
 Parameters ()=default
 
 Parameters (std::initializer_list< hydra::Parameter > init_parameters)
 
 Parameters (std::array< hydra::Parameter, N > const &init_parameters)
 
__hydra_host__ __hydra_device__ Parameters (hydra::Parameter(&init_parameters)[N])
 
__hydra_host__ __hydra_device__ Parameters (Parameters< N > const &other)
 
void AddUserParameters (std::vector< hydra::Parameter * > &user_parameters)
 
__hydra_host__ __hydra_device__ size_t GetNumberOfParameters () const
 
__hydra_host__ __hydra_device__ const hydra::ParameterGetParameter (Int i) const
 
__hydra_host__ const hydra::ParameterGetParameter (const char *name) const
 
__hydra_host__ __hydra_device__ const hydra::ParameterGetParameters () const
 
size_t GetParametersKey ()
 
__hydra_host__ __hydra_device__ Parameters< N > & operator= (Parameters< N > const &other)
 
__hydra_host__ __hydra_device__ GReal_t operator[] (Int i) const
 
__hydra_host__ __hydra_device__ hydra::ParameterParameter (Int i)
 
__hydra_host__ hydra::ParameterParameter (const char *name)
 
void PrintParameters ()
 Print registered parameters. More...
 
__hydra_host__ __hydra_device__ void SetParameter (Int i, hydra::Parameter const &value)
 
__hydra_host__ __hydra_device__ void SetParameter (Int i, double value)
 
__hydra_host__ void SetParameter (const char *name, hydra::Parameter const &value)
 
__hydra_host__ void SetParameter (const char *name, double value)
 
__hydra_host__ void SetParameters (const std::vector< double > &parameters)
 Set parameters. More...
 
virtual void Update (void)
 This method offers an opportunity to redo calculations and update values that depends only on the functor parameters. More...
 

Additional Inherited Members

- Public Types inherited from hydra::BaseFunctor< Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >, Signature, 0 >
enum  
 
typedef detail::signature_traits< Signature >::argument_type argument_type
 
typedef void hydra_functor_type
 
typedef detail::signature_traits< Signature >::return_type return_type
 
- Static Public Attributes inherited from hydra::detail::Parameters< NPARAM >
static const size_t parameter_count
 
- Protected Attributes inherited from hydra::BaseFunctor< Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >, Signature, 0 >
BaseFunctor< Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >, Signature, NPARAM > & _par
 

Detailed Description

template<typename IteratorX, typename IteratorY, typename IteratorW, typename IteratorZ, typename IteratorM, typename ArgType1, typename ArgType2, typename ArgType3, typename ArgType4, typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
class hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >

Constructor & Destructor Documentation

◆ Spline4DFunctor() [1/3]

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::Spline4DFunctor ( )
delete

◆ Spline4DFunctor() [2/3]

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::Spline4DFunctor ( IteratorX  xfirst,
IteratorX  xlast,
IteratorY  yfirst,
IteratorY  ylast,
IteratorW  wfirst,
IteratorW  wlast,
IteratorZ  zfirst,
IteratorZ  zlast,
IteratorM  mfirst 
)
inline

◆ Spline4DFunctor() [3/3]

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::Spline4DFunctor ( Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ double hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::Evaluate ( ArgType1  X,
ArgType2  Y,
ArgType3  W,
ArgType4  Z 
) const
inline

◆ GetM()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ IteratorM hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetM ( ) const
inline

◆ GetSizeW()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ size_t hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetSizeW ( ) const
inline

◆ GetSizeX()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ size_t hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetSizeX ( ) const
inline

◆ GetSizeY()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ size_t hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetSizeY ( ) const
inline

◆ GetSizeZ()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ size_t hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetSizeZ ( ) const
inline

◆ GetW()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ IteratorY hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetW ( ) const
inline

◆ GetX()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ IteratorX hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetX ( ) const
inline

◆ GetY()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ IteratorY hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetY ( ) const
inline

◆ GetZ()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ IteratorZ hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::GetZ ( ) const
inline

◆ operator=()

template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename ArgType1 , typename ArgType2 , typename ArgType3 , typename ArgType4 , typename Signature = double(ArgType1, ArgType2, ArgType3, ArgType4)>
__hydra_host__ __hydra_device__ Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 >& hydra::Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4, Signature >::operator= ( Spline4DFunctor< IteratorX, IteratorY, IteratorW, IteratorZ, IteratorM, ArgType1, ArgType2, ArgType3, ArgType4 > const &  other)
inline

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