SST  13.1.0
Structural Simulation Toolkit
SST::RNG::ExponentialDistribution Class Reference

Creates an exponential distribution for use within SST. More...

#include "sst/core/rng/expon.h"

Inheritance diagram for SST::RNG::ExponentialDistribution:
SST::RNG::RandomDistribution

Public Member Functions

 ExponentialDistribution (const double mn)
 Creates an exponential distribution with a specific lambda. More...
 
 ExponentialDistribution (const double mn, SST::RNG::Random *baseDist)
 Creates an exponential distribution with a specific lambda and a base random number generator. More...
 
 ~ExponentialDistribution ()
 Destroys the exponential distribution.
 
double getNextDouble ()
 Gets the next (random) double value in the distribution. More...
 
double getLambda ()
 Gets the lambda with which the distribution was created. More...
 
- Public Member Functions inherited from SST::RNG::RandomDistribution
virtual ~RandomDistribution ()
 Destroys the distribution.
 
 RandomDistribution ()
 Creates the base (abstract) class of a distribution.
 

Protected Attributes

double lambda
 Sets the lambda of the exponential distribution.
 
SST::RNG::RandombaseDistrib
 Sets the base random number generator for the distribution.
 
bool deleteDistrib
 Controls whether the base distribution should be deleted when this class is destructed.
 

Detailed Description

Creates an exponential distribution for use within SST.

This distribution is the same across platforms and compilers.

Constructor & Destructor Documentation

◆ ExponentialDistribution() [1/2]

SST::RNG::ExponentialDistribution::ExponentialDistribution ( const double  mn)
inline

Creates an exponential distribution with a specific lambda.

Parameters
mnThe lambda of the exponential distribution

◆ ExponentialDistribution() [2/2]

SST::RNG::ExponentialDistribution::ExponentialDistribution ( const double  mn,
SST::RNG::Random baseDist 
)
inline

Creates an exponential distribution with a specific lambda and a base random number generator.

Parameters
mnThe lambda of the exponential distribution
baseDistThe base random number generator to take the distribution from.

Member Function Documentation

◆ getLambda()

double SST::RNG::ExponentialDistribution::getLambda ( )
inline

Gets the lambda with which the distribution was created.

Returns
The lambda which the user created the distribution with

◆ getNextDouble()

double SST::RNG::ExponentialDistribution::getNextDouble ( )
inlinevirtual

Gets the next (random) double value in the distribution.

Returns
The next random double from the distribution

Implements SST::RNG::RandomDistribution.


The documentation for this class was generated from the following file: