12 #ifndef _H_SST_CORE_RNG_EXP
13 #define _H_SST_CORE_RNG_EXP
20 using namespace SST::RNG;
55 baseDistrib = baseDist;
56 deleteDistrib =
false;
73 const double next = baseDistrib->nextUniform();
74 return log(1 - next) / ( -1 * lambda );
Base class of statistical distributions in SST.
Definition: distrib.h:24
SSTRandom * baseDistrib
Sets the base random number generator for the distribution.
Definition: expon.h:94
double getNextDouble()
Gets the next (random) double value in the distribution.
Definition: expon.h:72
Implements a Mersenne-based RNG for use in the SST core or components.
Definition: mersenne.h:34
SSTExponentialDistribution(const double mn, SSTRandom *baseDist)
Creates an exponential distribution with a specific lambda and a base random number generator...
Definition: expon.h:51
double getLambda()
Gets the lambda with which the distribution was created.
Definition: expon.h:81
SSTExponentialDistribution(const double mn)
Creates an exponential distribution with a specific lambda.
Definition: expon.h:38
bool deleteDistrib
Controls whether the base distribution should be deleted when this class is destructed.
Definition: expon.h:99
Implements the base class for random number generators for the SST core.
Definition: sstrng.h:27
double lambda
Sets the lambda of the exponential distribution.
Definition: expon.h:90
~SSTExponentialDistribution()
Destroys the exponential distribution.
Definition: expon.h:62
Creates an exponential distribution for use within SST.
Definition: expon.h:31