| SST 15.0
    Structural Simulation Toolkit | 
Creates a discrete distribution for use within SST. More...
#include "sst/core/rng/discrete.h"
 
  
| Public Member Functions | |
| DiscreteDistribution (const double *probs, const uint32_t probsCount) | |
| Creates a discrete probability distribution. | |
| DiscreteDistribution (const double *probs, const uint32_t probsCount, Random *baseDist) | |
| Creates an exponential distribution with a specific lambda and a base random number generator. | |
| ~DiscreteDistribution () | |
| Destroys the exponential distribution. | |
| double | getNextDouble () override | 
| Gets the next (random) double value in the distribution. | |
| DiscreteDistribution () | |
| Default constructor. | |
| void | serialize_order (SST::Core::Serialization::serializer &ser) override | 
| Serialization function for checkpoint. | |
|  Public Member Functions inherited from SST::RNG::RandomDistribution | |
| 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 | 
|  Public Member Functions inherited from SST::Core::Serialization::serializable_base | |
| virtual const char * | cls_name () const =0 | 
| virtual uint32_t | cls_id () const =0 | 
| virtual std::string | serialization_name () const =0 | 
| Data Fields | |
| ImplementSerializable(DiscreteDistribution) protected bool | deleteDistrib | 
| Serialization macro. | |
| double * | probabilities | 
| The discrete probability list. | |
| uint32_t | probCount | 
| Count of discrete probabilities. | |
| Additional Inherited Members | |
|  Static Public Attributes inherited from SST::Core::Serialization::serializable | |
| static constexpr uint32_t | NullClsId = std::numeric_limits<uint32_t>::max() | 
|  Static Public Attributes inherited from SST::Core::Serialization::serializable_base | |
| static constexpr uint32_t | NullClsId = std::numeric_limits<uint32_t>::max() | 
|  Protected Types inherited from SST::Core::Serialization::serializable_base | |
| enum | cxn_flag_t { ConstructorFlag } | 
|  Static Protected Member Functions inherited from SST::Core::Serialization::serializable_base | |
| static void | serializable_abort (uint32_t line, const char *file, const char *func, const char *obj) | 
Creates a discrete distribution for use within SST.
This distribution is the same across platforms and compilers.
| 
 | inline | 
Creates a discrete probability distribution.
| probs | An array of probabilities for each outcome | 
| probsCount | The number of discrete outcomes | 
References deleteDistrib, probabilities, probCount, and SST::RNG::RandomDistribution::RandomDistribution().
| 
 | inline | 
Creates an exponential distribution with a specific lambda and a base random number generator.
| lambda | The lambda of the exponential distribution | 
| baseDist | The base random number generator to take the distribution from. | 
References deleteDistrib, probabilities, probCount, and SST::RNG::RandomDistribution::RandomDistribution().
| 
 | inline | 
Default constructor.
FOR SERIALIZATION ONLY.
References SST::RNG::RandomDistribution::RandomDistribution().
| 
 | inlineoverridevirtual | 
Gets the next (random) double value in the distribution.
Implements SST::RNG::RandomDistribution.
References probabilities, and probCount.
| 
 | inlineoverridevirtual | 
Serialization function for checkpoint.
Implements SST::Core::Serialization::serializable_base.
References deleteDistrib, probabilities, and probCount.
| ImplementSerializable (DiscreteDistribution) protected bool SST::RNG::DiscreteDistribution::deleteDistrib | 
Serialization macro.
Sets the base random number generator for the distribution. Controls whether the base distribution should be deleted when this class is destructed.
Referenced by DiscreteDistribution(), DiscreteDistribution(), serialize_order(), and ~DiscreteDistribution().