Manage the seed number and run number of the underlying random number generator, and automatic assignment of stream numbers. More...
#include "rng-seed-manager.h"
Static Public Member Functions | |
static uint64_t | GetNextStreamIndex (void) |
Get the next automatically assigned stream index. More... | |
static uint64_t | GetRun (void) |
Get the current run number. More... | |
static uint32_t | GetSeed (void) |
Get the current seed value which will be used by all subsequently instantiated RandomVariableStream objects. More... | |
static void | SetRun (uint64_t run) |
Set the run number of simulation. More... | |
static void | SetSeed (uint32_t seed) |
Set the seed. More... | |
Related Functions | |
(Note that these are not member functions.) | |
static uint64_t | g_nextStreamIndex = 0 |
static ns3::GlobalValue | g_rngRun ("RngRun", "The substream index used for all streams", ns3::UintegerValue(1), ns3::MakeUintegerChecker< uint64_t >()) |
static ns3::GlobalValue | g_rngSeed ("RngSeed", "The global seed of all rng streams", ns3::UintegerValue(1), ns3::MakeUintegerChecker< uint32_t >()) |
Manage the seed number and run number of the underlying random number generator, and automatic assignment of stream numbers.
Definition at line 39 of file rng-seed-manager.h.
|
static |
Get the next automatically assigned stream index.
Definition at line 100 of file rng-seed-manager.cc.
References g_nextStreamIndex, and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::RandomVariableStream::SetStream().
|
static |
Get the current run number.
Definition at line 91 of file rng-seed-manager.cc.
References g_rngRun, ns3::UintegerValue::Get(), ns3::GlobalValue::GetValue(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::RandomVariableStream::SetStream(), and anonymous_namespace{random-variable-stream-test-suite.cc}::SetTestSuiteSeed().
|
static |
Get the current seed value which will be used by all subsequently instantiated RandomVariableStream objects.
This returns the current seed value.
Definition at line 71 of file rng-seed-manager.cc.
References g_rngSeed, ns3::UintegerValue::Get(), ns3::GlobalValue::GetValue(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::RandomVariableStream::SetStream(), and anonymous_namespace{random-variable-stream-test-suite.cc}::SetTestSuiteSeed().
|
static |
Set the run number of simulation.
In this example, N
could successively be equal to 1,2,3, etc. and the user would continue to get independent runs out of the single simulation. For this simple example, the following might work:
[in] | run | The run number. |
Definition at line 85 of file rng-seed-manager.cc.
References NS_LOG_FUNCTION, and ns3::Config::SetGlobal().
Referenced by ns3::olsr::Bug780Test::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), and ns3::olsr::TcRegressionTest::DoRun().
|
static |
Set the seed.
This sets the global initial seed which will be used all subsequently instantiated RandomVariableStream objects.
[in] | seed | The seed value to use. |
Definition at line 79 of file rng-seed-manager.cc.
References NS_LOG_FUNCTION, and ns3::Config::SetGlobal().
Referenced by ns3::olsr::Bug780Test::DoRun(), SteadyStateRandomWaypointTest::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), and anonymous_namespace{random-variable-stream-test-suite.cc}::SetTestSuiteSeed().
|
related |
The next random number generator stream number to use for automatic assignment.
Definition at line 42 of file rng-seed-manager.cc.
Referenced by GetNextStreamIndex().
|
related |
The random number generator substream index. This is used to generate new PRNG sequences for all streams (random variables) in such a manner that the streams remain uncorrelated. Incrementing this variable can be used for independent replications.
This is accessible as "--RngRun" from CommandLine.
Referenced by GetRun().
|
related |
The random number generator seed number global value. This is used to generate an new master PRNG sequence. It is typically not modified by user programs; the variable RngRun is preferred for independent replications.
This is accessible as "--RngSeed" from CommandLine.
Referenced by GetSeed().