CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
cbl::random::UniformRandomNumbers Class Reference

The class UniformRandomNumbers. More...

#include <RandomNumbers.h>

Inheritance diagram for cbl::random::UniformRandomNumbers:
Collaboration diagram for cbl::random::UniformRandomNumbers:

Public Member Functions

 UniformRandomNumbers (double MinVal, const double MaxVal, const int seed)
 constructor More...
 
 ~UniformRandomNumbers ()=default
 default destructor
 
double operator() ()
 extract number from the distribution More...
 
- Public Member Functions inherited from cbl::random::RandomNumbers
 RandomNumbers ()=default
 default constructor
 
 RandomNumbers (const int seed, const double MinVal=par::defaultDouble, const double MaxVal=-par::defaultDouble)
 constructor More...
 
virtual ~RandomNumbers ()=default
 default destructor
 
void set_seed (const int seed)
 set the random number generator seed More...
 
void set_range (const double MinVal, const double MaxVal)
 set the range for the random number extraction More...
 
void set_value (const double value)
 set the value for constant distribution More...
 
virtual void set_mean (const double mean)
 set the mean for Poisson distribution More...
 
virtual void set_mean_sigma (const double mean, const double sigma)
 set parameters for Normal distribution More...
 
virtual void set_discrete_values (const std::vector< double > values, const std::vector< double > weights)
 set parameters for Discrete distribution More...
 
virtual void set_interpolated_distribution (const std::vector< double > values, const std::vector< double > weights)
 set the parameters for the interpolated distribution More...
 
virtual void set_custom_distribution (const distribution_func func, const std::shared_ptr< void > modelInput, const std::vector< double > parameter)
 set parameters for interpolated distribution More...
 

Protected Attributes

std::shared_ptr< std::uniform_real_distribution< double > > m_distribution
 uniform distribution
 
- Protected Attributes inherited from cbl::random::RandomNumbers
std::mt19937_64 m_generator
 pseudo-random numbers generator
 
int m_seed
 seed
 
double m_MinVal
 minimum value to generate
 
double m_MaxVal
 maximum value to generate
 

Detailed Description

The class UniformRandomNumbers.

"Headers/RandomNumbers.h"

The base class to generate random numbers on a interval

Examples
eigen.cpp, and histogram.cpp.

Definition at line 253 of file RandomNumbers.h.

Constructor & Destructor Documentation

◆ UniformRandomNumbers()

cbl::random::UniformRandomNumbers::UniformRandomNumbers ( double  MinVal,
const double  MaxVal,
const int  seed 
)

constructor

Parameters
MinVallower limit of the random numbers range
MaxValupper limit of the random numbers range
seedthe random number generator seed

Definition at line 75 of file RandomNumbers.cpp.

Member Function Documentation

◆ operator()()

double cbl::random::UniformRandomNumbers::operator() ( )
virtual

extract number from the distribution

Returns
random values

Implements cbl::random::RandomNumbers.

Definition at line 84 of file RandomNumbers.cpp.


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