A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::RngSeedManager Class Reference

#include <rng-seed-manager.h>

Static Public Member Functions

static uint64_t GetNextStreamIndex (void)
 
static uint64_t GetRun (void)
 
static uint32_t GetSeed (void)
 Get the seed value. More...
 
static void SetRun (uint64_t run)
 Set the run number of simulation. More...
 
static void SetSeed (uint32_t seed)
 set the seed it will duplicate the seed value 6 times More...
 

Detailed Description

Definition at line 8 of file rng-seed-manager.h.

Member Function Documentation

uint64_t ns3::RngSeedManager::GetNextStreamIndex ( void  )
static
uint64_t ns3::RngSeedManager::GetRun ( void  )
static
Returns
the current run number
See Also
SetRun

Definition at line 43 of file rng-seed-manager.cc.

References ns3::g_rngRun, ns3::IntegerValue::Get(), ns3::GlobalValue::GetValue(), and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::RandomVariableBase::GetStream(), ns3::RandomVariableBase::RandomVariableBase(), and ns3::RandomVariableStream::SetStream().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::RngSeedManager::GetSeed ( void  )
static

Get the seed value.

Returns
the seed value

Note: returns the first of the six seed values used in the underlying RNG

Definition at line 23 of file rng-seed-manager.cc.

References ns3::g_rngSeed, ns3::IntegerValue::Get(), ns3::GlobalValue::GetValue(), and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::RandomVariableBase::GetStream(), ns3::RandomVariableBase::RandomVariableBase(), and ns3::RandomVariableStream::SetStream().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RngSeedManager::SetRun ( uint64_t  run)
static

Set the run number of simulation.

* int N = atol(argv[1]); //read in run number from command line
* UniformVariable x(0,10);
* ExponentialVariable y(2902);
*

In this example, N could successivly 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:

* ./simulation 0
* ...Results for run 0:...
*
* ./simulation 1
* ...Results for run 1:...
*

Definition at line 37 of file rng-seed-manager.cc.

References NS_LOG_FUNCTION, and ns3::Config::SetGlobal().

Referenced by ns3::BriteTopologyStructureTestCase::DoRun(), ns3::olsr::Bug780Test::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::aodv::Bug772ChainTest::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), ns3::aodv::ChainRegressionTest::DoRun(), ns3::Bug555TestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RngSeedManager::SetSeed ( uint32_t  seed)
static

set the seed it will duplicate the seed value 6 times

* RngSeedManger::SetSeed(15);
* UniformVariable x(2,3); //these will give the same output everytime
* ExponentialVariable y(120); //as long as the seed stays the same
*
Parameters
seedNote, while the underlying RNG takes six integer values as a seed; it is sufficient to set these all to the same integer, so we provide a simpler interface here that just takes one integer.

Definition at line 31 of file rng-seed-manager.cc.

References NS_LOG_FUNCTION, and ns3::Config::SetGlobal().

Referenced by ns3::BriteTopologyStructureTestCase::DoRun(), ns3::SteadyStateRandomWaypointTest::DoRun(), ns3::olsr::Bug780Test::DoRun(), ns3::LteRlcAmE2eTestCase::DoRun(), ns3::LteRlcUmE2eTestCase::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::aodv::Bug772ChainTest::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), ns3::aodv::ChainRegressionTest::DoRun(), ns3::Bug555TestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


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