Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::Distribution< Functor, true > Struct Template Reference
Inheritance diagram for hydra::Distribution< Functor, true >:
Collaboration diagram for hydra::Distribution< Functor, true >:

Public Types

typedef RngFormula< Functor >::value_type value_type
 

Public Member Functions

template<typename Engine >
__hydra_host__ __hydra_device__ value_type operator() (Engine &rng, Functor const &functor) const
 The function call operator return a random number at each call. More...
 
template<typename Engine , typename T = double>
__hydra_host__ __hydra_device__ value_type operator() (Engine &rng, std::initializer_list< T > pars) const
 The function call operator return a random number at each call. More...
 
template<typename Engine >
__hydra_host__ __hydra_device__ void SetState (Engine &rng, Functor const &functor, size_t ncall) const
 In multi-thread environment, SetState needs to be called in order to avoid the generation of overlapping pseudo-random numbers. More...
 
template<typename Engine , typename T = double>
__hydra_host__ __hydra_device__ void SetState (Engine &rng, std::initializer_list< T > pars, size_t ncall) const
 In multi-thread environment, SetState needs to be called in order to avoid the generation of overlapping pseudo-random numbers. More...
 

Detailed Description

template<typename Functor>
struct hydra::Distribution< Functor, true >

Member Typedef Documentation

◆ value_type

template<typename Functor >
typedef RngFormula<Functor>::value_type hydra::Distribution< Functor, true >::value_type

Member Function Documentation

◆ operator()() [1/2]

template<typename Functor >
template<typename Engine >
__hydra_host__ __hydra_device__ value_type hydra::Distribution< Functor, true >::operator() ( Engine &  rng,
Functor const &  functor 
) const
inline

The function call operator return a random number at each call.

◆ operator()() [2/2]

template<typename Functor >
template<typename Engine , typename T = double>
__hydra_host__ __hydra_device__ value_type hydra::Distribution< Functor, true >::operator() ( Engine &  rng,
std::initializer_list< T >  pars 
) const
inline

The function call operator return a random number at each call.

◆ SetState() [1/2]

template<typename Functor >
template<typename Engine >
__hydra_host__ __hydra_device__ void hydra::Distribution< Functor, true >::SetState ( Engine &  rng,
Functor const &  functor,
size_t  ncall 
) const
inline

In multi-thread environment, SetState needs to be called in order to avoid the generation of overlapping pseudo-random numbers.

RngFormula specializations are required to implement the method NCalls, that returns the numbers of calls to the RNG engine to generate a point.

◆ SetState() [2/2]

template<typename Functor >
template<typename Engine , typename T = double>
__hydra_host__ __hydra_device__ void hydra::Distribution< Functor, true >::SetState ( Engine &  rng,
std::initializer_list< T >  pars,
size_t  ncall 
) const
inline

In multi-thread environment, SetState needs to be called in order to avoid the generation of overlapping pseudo-random numbers.

RngFormula specializations are required to implement the method NCalls, that returns the numbers of calls to the RNG engine to generate a point.


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