12#ifndef SST_CORE_RNG_EXPON_H
13#define SST_CORE_RNG_EXPON_H
76 return log(1 - next) / (-1 * lambda);
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition serializer.h:45
Creates an exponential distribution for use within SST.
Definition expon.h:29
ImplementSerializable(SST::RNG::ExponentialDistribution) protected Random * baseDistrib
Serialization macro.
Definition expon.h:105
double getLambda()
Gets the lambda with which the distribution was created.
Definition expon.h:83
void serialize_order(SST::Core::Serialization::serializer &ser) override
Serialization function for checkpoint.
Definition expon.h:95
ExponentialDistribution(const double mn)
Creates an exponential distribution with a specific lambda.
Definition expon.h:36
bool deleteDistrib
Controls whether the base distribution should be deleted when this class is destructed.
Definition expon.h:120
~ExponentialDistribution()
Destroys the exponential distribution.
Definition expon.h:62
double getNextDouble() override
Gets the next (random) double value in the distribution.
Definition expon.h:73
ExponentialDistribution()
Default constructor.
Definition expon.h:88
ExponentialDistribution(const double mn, Random *baseDist)
Creates an exponential distribution with a specific lambda and a base random number generator.
Definition expon.h:50
Implements a Mersenne-based RNG for use in the SST core or components.
Definition mersenne.h:34
RandomDistribution()
Creates the base (abstract) class of a distribution.
Definition distrib.h:41
Implements the base class for random number generators for the SST core.
Definition rng.h:29