25 #include <queso/RngGsl.h>
26 #include <gsl/gsl_randist.h>
38 "RngGsl::constructor(), default",
39 "should not be used by user");
49 m_rng = gsl_rng_alloc(gsl_rng_ranlxd2);
52 "RngGsl::constructor()",
58 std::cout <<
"In RngGsl::constructor():"
59 <<
"\n m_seed = " <<
m_seed
82 m_rng = gsl_rng_alloc(gsl_rng_ranlxd2);
85 "RngGsl::resetSeed()",
94 return gsl_rng_uniform(
m_rng);
101 return gsl_ran_gaussian(
m_rng,stdDev);
108 return gsl_ran_beta(
m_rng,alpha,beta);
115 return gsl_ran_gamma(
m_rng,a,b);
const gsl_rng * rng() const
GSL random number generator.
void resetSeed(int newSeed)
Resets the seed with value newSeed.
double uniformSample() const
Samples a value from a uniform distribution. Support: [0,1] or [a,b].
virtual void resetSeed(int newSeed)
Resets the seed with value newSeed.
double gaussianSample(double stdDev) const
double gammaSample(double a, double b) const
Samples a value from a Gamma distribution. Support: [0,infinity).
double betaSample(double alpha, double beta) const
Samples a value from a Beta distribution. Support: [0,1].
RngGsl()
Default Constructor: it should not be used.
int m_worldRank
Rank of processor.
unsigned long int gsl_rng_default_seed
gsl_rng * m_rng
GSL random number generator.
Class for random number generation (base class for either GSL or Boost RNG).
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)