SST 15.0
Structural Simulation Toolkit
|
Creates a Gaussian (normal) distribution for which to sample. More...
#include "sst/core/rng/gaussian.h"
Public Member Functions | |
GaussianDistribution (double mn, double sd) | |
Creates a new distribution with a predefined random number generator with a specified mean and standard deviation. | |
GaussianDistribution (double mn, double sd, Random *baseRNG) | |
Creates a new distribution with a predefined random number generator with a specified mean and standard deviation. | |
~GaussianDistribution () | |
Destroys the Gaussian distribution. | |
double | getNextDouble () override |
Gets the next double value in the distribution. | |
double | getMean () |
Gets the mean of the distribution. | |
double | getStandardDev () |
Gets the standard deviation of the distribution. | |
GaussianDistribution () | |
Default constructor. | |
void | serialize_order (SST::Core::Serialization::serializer &ser) override |
Serialization function for checkpoint. | |
![]() | |
virtual | ~RandomDistribution () |
Destroys the distribution. | |
RandomDistribution () | |
Creates the base (abstract) class of a distribution. | |
virtual void | serialize_order (SST::Core::Serialization::serializer &UNUSED(ser)) override |
![]() | |
virtual const char * | cls_name () const =0 |
virtual uint32_t | cls_id () const =0 |
virtual std::string | serialization_name () const =0 |
Data Fields | |
ImplementSerializable(SST::RNG::GaussianDistribution) protected double | stddev |
Serialization macro. | |
Random * | baseDistrib |
The base random number generator for the distribution. | |
double | unusedPair |
Random numbers for the distribution are read in pairs, this stores the second of the pair. | |
bool | usePair |
Random numbers for the distribution are read in pairs, this tells the code to use the second of the pair. | |
bool | deleteDistrib |
Controls whether the destructor deletes the distribution (we need to ensure we do this IF we created the distribution) | |
Additional Inherited Members | |
![]() | |
static constexpr uint32_t | NullClsId = std::numeric_limits<uint32_t>::max() |
![]() | |
static constexpr uint32_t | NullClsId = std::numeric_limits<uint32_t>::max() |
![]() | |
enum | cxn_flag_t { ConstructorFlag } |
![]() | |
static void | serializable_abort (uint32_t line, const char *file, const char *func, const char *obj) |
Creates a Gaussian (normal) distribution for which to sample.
|
inline |
Creates a new distribution with a predefined random number generator with a specified mean and standard deviation.
mn | The mean of the Gaussian distribution |
sd | The standard deviation of the Gaussian distribution |
References baseDistrib, deleteDistrib, SST::RNG::RandomDistribution::RandomDistribution(), stddev, unusedPair, and usePair.
|
inline |
Creates a new distribution with a predefined random number generator with a specified mean and standard deviation.
mn | The mean of the Gaussian distribution |
sd | The standard deviation of the Gaussian distribution |
baseRNG | The random number generator as the base of the distribution |
References baseDistrib, deleteDistrib, SST::RNG::RandomDistribution::RandomDistribution(), stddev, unusedPair, and usePair.
|
inline |
Default constructor.
FOR SERIALIZATION ONLY.
References SST::RNG::RandomDistribution::RandomDistribution().
|
inline |
Gets the mean of the distribution.
|
inlineoverridevirtual |
Gets the next double value in the distribution.
Implements SST::RNG::RandomDistribution.
References baseDistrib, stddev, unusedPair, and usePair.
|
inline |
Gets the standard deviation of the distribution.
References stddev.
|
inlineoverridevirtual |
Serialization function for checkpoint.
Implements SST::Core::Serialization::serializable_base.
References baseDistrib, deleteDistrib, stddev, unusedPair, and usePair.
ImplementSerializable (SST::RNG::GaussianDistribution) protected double SST::RNG::GaussianDistribution::stddev |
Serialization macro.
The mean of the Gaussian distribution The standard deviation of the Gaussian distribution
Referenced by GaussianDistribution(), GaussianDistribution(), getNextDouble(), getStandardDev(), and serialize_order().