Showing content from http://multithreadcorner.github.io/Hydra/group__functor.html below:
Hydra: Functor Arithmetic
template<typename Functor, typename Signature, size_t NPARAM>
class hydra::BaseFunctor< Functor, Signature, NPARAM >
Base class for all functors in hydra.
-
Template Parameters
-
Functor is "bare" c++ functor implementing the template<typename T> Evaluate(T x) method. NPARAM number of parameters of the functor.
-
Examples:
-
dalitz_plot.C, and dalitz_plot.inl.
Public Types enum { arity =detail::signature_traits<Signature>::arity } typedef detail::signature_traits< Signature >::argument_type argument_type typedef void hydra_functor_type typedef detail::signature_traits< Signature >::return_type return_type Public Member Functions __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< Functor, Signature, NPARAM > const &other) Copy constructor. More...
__hydra_host__ __hydra_device__ Functor & GetFunctor () __hydra_host__ __hydra_device__ GReal_t GetNorm () const template<typename ... T> __hydra_host__ __hydra_device__ std::enable_if<(!detail::is_valid_type_pack< argument_type, T... >::value), return_type >::type operator() (T...x) const template<typename ... T> __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...
template<typename T > __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...
template<typename T > __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...
template<typename T1 , typename T2 > __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...
template<typename T1 , typename T2 > __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...
template<typename T1 , typename T2 > __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< Functor, Signature, NPARAM > & operator= (BaseFunctor< Functor, Signature, NPARAM > const &other) Assignment operator. More...
void PrintRegisteredParameters () Print registered parameters. More...
__hydra_host__ __hydra_device__ void SetNorm (GReal_t norm) 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::Parameter & GetParameter (Int i) const __hydra_host__ const hydra::Parameter & GetParameter (const char *name) const __hydra_host__ __hydra_device__ const hydra::Parameter * GetParameters () 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::Parameter & Parameter (Int i) __hydra_host__ hydra::Parameter & Parameter (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 > ¶meters) 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...
Protected Attributes BaseFunctor< Functor, Signature, NPARAM > & _par
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4