glucat  0.8.2
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
glucat::random_generator< Scalar_T > Class Template Reference

Random number generator with single instance per Scalar_T. More...

#include <random.h>

Public Member Functions

Scalar_T uniform ()
 
Scalar_T normal ()
 

Static Public Member Functions

static random_generatorgenerator ()
 Single instance of Random number generator. More...
 

Private Member Functions

 random_generator (const random_generator &)
 
random_generatoroperator= (const random_generator &)
 
 random_generator ()
 
 ~random_generator ()
 

Private Attributes

std::mt19937 uint_gen
 
std::uniform_real_distribution< double > uniform_dist
 
std::normal_distribution< double > normal_dist
 

Static Private Attributes

static const unsigned long seed = 19590921UL
 

Friends

class friend_for_private_destructor
 

Detailed Description

template<typename Scalar_T>
class glucat::random_generator< Scalar_T >

Random number generator with single instance per Scalar_T.

Definition at line 47 of file random.h.

Constructor & Destructor Documentation

◆ random_generator() [1/2]

template<typename Scalar_T >
glucat::random_generator< Scalar_T >::random_generator ( const random_generator< Scalar_T > &  )
private

◆ random_generator() [2/2]

template<typename Scalar_T >
glucat::random_generator< Scalar_T >::random_generator ( )
inlineprivate

Definition at line 83 of file random.h.

References glucat::random_generator< Scalar_T >::seed.

◆ ~random_generator()

template<typename Scalar_T >
glucat::random_generator< Scalar_T >::~random_generator ( )
inlineprivate

Definition at line 87 of file random.h.

Member Function Documentation

◆ generator()

template<typename Scalar_T >
static random_generator& glucat::random_generator< Scalar_T >::generator ( )
inlinestatic

Single instance of Random number generator.

Definition at line 51 of file random.h.

◆ normal()

template<typename Scalar_T >
Scalar_T glucat::random_generator< Scalar_T >::normal ( )
inline

Definition at line 93 of file random.h.

References glucat::random_generator< Scalar_T >::normal_dist.

◆ operator=()

template<typename Scalar_T >
random_generator& glucat::random_generator< Scalar_T >::operator= ( const random_generator< Scalar_T > &  )
private

◆ uniform()

template<typename Scalar_T >
Scalar_T glucat::random_generator< Scalar_T >::uniform ( )
inline

Definition at line 91 of file random.h.

References glucat::random_generator< Scalar_T >::uniform_dist.

Friends And Related Function Documentation

◆ friend_for_private_destructor

template<typename Scalar_T >
friend class friend_for_private_destructor
friend

Friend declaration to avoid compiler warning: "... only defines a private destructor and has no friends" Ref: Carlos O'Ryan, ACE http://doc.ece.uci.edu

Definition at line 56 of file random.h.

Member Data Documentation

◆ normal_dist

template<typename Scalar_T >
std::normal_distribution<double> glucat::random_generator< Scalar_T >::normal_dist
private

Definition at line 81 of file random.h.

Referenced by glucat::random_generator< Scalar_T >::normal().

◆ seed

template<typename Scalar_T >
const unsigned long glucat::random_generator< Scalar_T >::seed = 19590921UL
staticprivate

Definition at line 59 of file random.h.

Referenced by glucat::random_generator< Scalar_T >::random_generator().

◆ uint_gen

template<typename Scalar_T >
std::mt19937 glucat::random_generator< Scalar_T >::uint_gen
private

Definition at line 79 of file random.h.

◆ uniform_dist

template<typename Scalar_T >
std::uniform_real_distribution<double> glucat::random_generator< Scalar_T >::uniform_dist
private

Definition at line 80 of file random.h.

Referenced by glucat::random_generator< Scalar_T >::uniform().


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