Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature > Class Template Reference

#include <SplineFunctor.h>

Inheritance diagram for hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >:
Collaboration diagram for hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >:

Public Member Functions

 SplineFunctor ()=delete
 
 SplineFunctor (Iterator1 first, Iterator1 last, Iterator2 output)
 
__hydra_host__ __hydra_device__ SplineFunctor (SplineFunctor< Iterator1, Iterator2, ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType X) const
 
__hydra_host__ __hydra_device__ size_t GetSize () const
 
__hydra_host__ __hydra_device__ Iterator1 GetX () const
 
__hydra_host__ __hydra_device__ Iterator2 GetY () const
 
__hydra_host__ __hydra_device__ SplineFunctor< Iterator1, Iterator2, ArgType > & operator= (SplineFunctor< Iterator1, Iterator2, ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< SplineFunctor< Iterator1, Iterator2, ArgType >, 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< SplineFunctor< Iterator1, Iterator2, ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ SplineFunctor< Iterator1, Iterator2, ArgType > & 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< SplineFunctor< Iterator1, Iterator2, ArgType >, Signature, NPARAM > & operator= (BaseFunctor< SplineFunctor< Iterator1, Iterator2, ArgType >, 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< SplineFunctor< Iterator1, Iterator2, ArgType >, 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< SplineFunctor< Iterator1, Iterator2, ArgType >, Signature, 0 >
BaseFunctor< SplineFunctor< Iterator1, Iterator2, ArgType >, Signature, NPARAM > & _par
 

Detailed Description

template<typename Iterator1, typename Iterator2, typename ArgType, typename Signature = double(ArgType)>
class hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >

Constructor & Destructor Documentation

◆ SplineFunctor() [1/3]

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::SplineFunctor ( )
delete

◆ SplineFunctor() [2/3]

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::SplineFunctor ( Iterator1  first,
Iterator1  last,
Iterator2  output 
)
inline

◆ SplineFunctor() [3/3]

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::SplineFunctor ( SplineFunctor< Iterator1, Iterator2, ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::Evaluate ( ArgType  X) const
inline

◆ GetSize()

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ size_t hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::GetSize ( ) const
inline

◆ GetX()

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ Iterator1 hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::GetX ( ) const
inline

◆ GetY()

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ Iterator2 hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::GetY ( ) const
inline

◆ operator=()

template<typename Iterator1 , typename Iterator2 , typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ SplineFunctor<Iterator1, Iterator2, ArgType>& hydra::SplineFunctor< Iterator1, Iterator2, ArgType, Signature >::operator= ( SplineFunctor< Iterator1, Iterator2, ArgType > const &  other)
inline

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