Combined Multiple-Recursive Generator MRG32k3a. More...
#include <rng-stream.h>
Public Member Functions | |
| RngStream (uint32_t seed, uint64_t stream, uint64_t substream) | |
| RngStream (const RngStream &) | |
| double | RandU01 (void) |
| Generate the next random number for this stream. More... | |
Private Member Functions | |
| void | AdvanceNthBy (uint64_t nth, int by, double state[6]) |
Private Attributes | |
| double | m_currentState [6] |
Combined Multiple-Recursive Generator MRG32k3a.
This class is the combined multiple-recursive random number generator called MRG32k3a. The ns3::RandomVariableBase class holds a static instance of this class. The details of this class are explained in: http://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00.pdf
Definition at line 38 of file rng-stream.h.
| ns3::RngStream::RngStream | ( | uint32_t | seed, |
| uint64_t | stream, | ||
| uint64_t | substream | ||
| ) |
Definition at line 280 of file rng-stream.cc.
References AdvanceNthBy(), anonymous_namespace{rng-stream.cc}::m1, anonymous_namespace{rng-stream.cc}::m2, m_currentState, and NS_FATAL_ERROR.
Here is the call graph for this function:| ns3::RngStream::RngStream | ( | const RngStream & | r | ) |
Definition at line 294 of file rng-stream.cc.
References m_currentState.
|
private |
Definition at line 303 of file rng-stream.cc.
References anonymous_namespace{rng-stream.cc}::m1, anonymous_namespace{rng-stream.cc}::m2, anonymous_namespace{rng-stream.cc}::MatVecModM(), and anonymous_namespace{rng-stream.cc}::PowerOfTwoMatrix().
Referenced by RngStream().
Here is the call graph for this function:
Here is the caller graph for this function:| double ns3::RngStream::RandU01 | ( | void | ) |
Generate the next random number for this stream.
Uniformly distributed between 0 and 1.
Definition at line 249 of file rng-stream.cc.
References anonymous_namespace{rng-stream.cc}::a12, anonymous_namespace{rng-stream.cc}::a13n, anonymous_namespace{rng-stream.cc}::a21, anonymous_namespace{rng-stream.cc}::a23n, anonymous_namespace{rng-stream.cc}::m1, anonymous_namespace{rng-stream.cc}::m2, m_currentState, and anonymous_namespace{rng-stream.cc}::norm.
Referenced by ns3::ErlangRandomVariable::GetExponentialValue(), ns3::GammaRandomVariable::GetNormalValue(), ns3::UniformVariableImpl::GetValue(), ns3::UniformRandomVariable::GetValue(), ns3::ExponentialRandomVariable::GetValue(), ns3::ExponentialVariableImpl::GetValue(), ns3::ParetoVariableImpl::GetValue(), ns3::ParetoRandomVariable::GetValue(), ns3::WeibullVariableImpl::GetValue(), ns3::WeibullRandomVariable::GetValue(), ns3::NormalVariableImpl::GetValue(), ns3::NormalRandomVariable::GetValue(), ns3::EmpiricalVariableImpl::GetValue(), ns3::LogNormalRandomVariable::GetValue(), ns3::LogNormalVariableImpl::GetValue(), ns3::GammaRandomVariable::GetValue(), ns3::GammaVariableImpl::GetValue(), ns3::TriangularVariableImpl::GetValue(), ns3::ZipfVariableImpl::GetValue(), ns3::TriangularRandomVariable::GetValue(), ns3::ZetaVariableImpl::GetValue(), ns3::ZipfRandomVariable::GetValue(), ns3::ZetaRandomVariable::GetValue(), and ns3::EmpiricalRandomVariable::GetValue().
Here is the caller graph for this function:
|
private |
Definition at line 52 of file rng-stream.h.
Referenced by RandU01(), and RngStream().