12 #ifndef SST_CORE_RNG_POISSON_H
13 #define SST_CORE_RNG_POISSON_H
20 using namespace SST::RNG;
54 baseDistrib = baseDist;
55 deleteDistrib =
false;
63 if ( deleteDistrib ) {
delete baseDistrib; }
72 const double L = exp(-lambda);
78 p *= baseDistrib->nextUniform();
111 #endif // SST_CORE_RNG_POISSON_H
Implements the base class for random number generators for the SST core.
Definition: rng.h:27
bool deleteDistrib
Controls whether the base distribution should be deleted when this class is destructed.
Definition: poisson.h:103
PoissonDistribution(const double mn, SST::RNG::Random *baseDist)
Creates an Poisson distribution with a specific lambda and a base random number generator.
Definition: poisson.h:51
~PoissonDistribution()
Destroys the Poisson distribution.
Definition: poisson.h:61
double getNextDouble()
Gets the next (random) double value in the distribution.
Definition: poisson.h:70
const double lambda
Sets the lambda of the Poisson distribution.
Definition: poisson.h:94
Implements a Mersenne-based RNG for use in the SST core or components.
Definition: mersenne.h:36
double getLambda()
Gets the lambda with which the distribution was created.
Definition: poisson.h:88
SST::RNG::Random * baseDistrib
Sets the base random number generator for the distribution.
Definition: poisson.h:98
PoissonDistribution(const double mn)
Creates an Poisson distribution with a specific lambda.
Definition: poisson.h:39
Creates an Poisson distribution for use within SST.
Definition: poisson.h:31
Base class of statistical distributions in SST.
Definition: distrib.h:22