1 #ifndef GSLRANDOMNUMBERGENERATOR_H
3 #define GSLRANDOMNUMBERGENERATOR_H
9 #include <gsl/gsl_rng.h>
29 unsigned long getSeed()
const {
return m_seed; }
58 double pickWeibull(
double lambda,
double kappa,
double ageMin);
70 std::pair<double,double>
pickBivariateGaussian(
double muX,
double muY,
double sigmaX,
double sigmaY,
double rho);
This class allows you to generate random numbers, and uses the GNU Scientific Library for this.
Definition: gslrandomnumbergenerator.h:17
double pickGaussianNumber(double mean, double sigma)
Picks a random number from the gaussian distribution with parameters mean and sigma.
Definition: gslrandomnumbergenerator.cpp:126
double pickWeibull(double lambda, double kappa)
Picks a random number from a Weibull distribution with specified parameters.
Definition: gslrandomnumbergenerator.cpp:140
unsigned long getSeed() const
Returns the seed used for the random number generator.
Definition: gslrandomnumbergenerator.h:29
unsigned int pickBinomialNumber(double p, unsigned int n)
Pick a random number from the binomial distribution, for n trials with a probability of success p for...
Definition: gslrandomnumbergenerator.cpp:185
double pickRandomDouble()
Generate a random floating point number in the interval [0,1].
Definition: gslrandomnumbergenerator.cpp:96
unsigned int pickPoissonNumber(double lambda)
Chooses a random number according to the Poisson distribution with parameter lambda.
Definition: gslrandomnumbergenerator.cpp:121
double pickLogNorm(double zeta, double sigma)
Picks a random number from a log-normal distribution with parameters zeta and sigma.
Definition: gslrandomnumbergenerator.cpp:162
GslRandomNumberGenerator()
Initialize the random number generator with a random seed, A specific seed can still be forced by set...
Definition: gslrandomnumbergenerator.cpp:20
double pickGamma(double a, double b)
Picks a random number from the gamma distribution with a and b defined as in the formula prob(x) = x^...
Definition: gslrandomnumbergenerator.cpp:169
std::pair< double, double > pickBivariateGaussian(double muX, double muY, double sigmaX, double sigmaY, double rho)
Picks a random number from a two dimensional gaussian distribution with specified parameters (rho is ...
Definition: gslrandomnumbergenerator.cpp:176
int pickRandomInt(int min, int max)
Chooses a random number from min to max (both are included).
Definition: gslrandomnumbergenerator.cpp:103
double pickBetaNumber(double a, double b)
Pick a random number from a beta distribution with a and b as values for and respectively.
Definition: gslrandomnumbergenerator.cpp:133