A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
anonymous_namespace{rng-stream.cc} Namespace Reference

Classes

struct  Precalculated
 

Typedefs

typedef double Matrix [3][3]
 

Functions

void MatMatModM (const Matrix A, const Matrix B, Matrix C, double m)
 
void MatTwoPowModM (const Matrix src, Matrix dst, double m, int32_t e)
 
void MatVecModM (const Matrix A, const double s[3], double v[3], double m)
 
double MultModM (double a, double s, double c, double m)
 
struct Precalculated PowerOfTwoConstants (void)
 
void PowerOfTwoMatrix (int n, Matrix a1p, Matrix a2p)
 

Variables

const double a12 = 1403580.0
 
const double a13n = 810728.0
 
const Matrix A1p0
 
const double a21 = 527612.0
 
const double a23n = 1370589.0
 
const Matrix A2p0
 
const double m1 = 4294967087.0
 
const double m2 = 4294944443.0
 
const double norm = 1.0 / (m1 + 1.0)
 
const double two17 = 131072.0
 
const double two53 = 9007199254740992.0
 

Typedef Documentation

typedef double anonymous_namespace{rng-stream.cc}::Matrix[3][3]

Definition at line 37 of file rng-stream.cc.

Function Documentation

void anonymous_namespace{rng-stream.cc}::MatMatModM ( const Matrix  A,
const Matrix  B,
Matrix  C,
double  m 
)

Definition at line 122 of file rng-stream.cc.

References MatVecModM(), and V.

Referenced by MatTwoPowModM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void anonymous_namespace{rng-stream.cc}::MatTwoPowModM ( const Matrix  src,
Matrix  dst,
double  m,
int32_t  e 
)

Definition at line 154 of file rng-stream.cc.

References MatMatModM().

Referenced by PowerOfTwoConstants().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void anonymous_namespace{rng-stream.cc}::MatVecModM ( const Matrix  A,
const double  s[3],
double  v[3],
double  m 
)

Definition at line 99 of file rng-stream.cc.

References MultModM(), and sample-rng-plot::x.

Referenced by ns3::RngStream::AdvanceNthBy(), and MatMatModM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double anonymous_namespace{rng-stream.cc}::MultModM ( double  a,
double  s,
double  c,
double  m 
)

Definition at line 65 of file rng-stream.cc.

References s, and two17.

Referenced by MatVecModM().

+ Here is the caller graph for this function:

struct Precalculated anonymous_namespace{rng-stream.cc}::PowerOfTwoConstants ( void  )

Definition at line 218 of file rng-stream.cc.

References anonymous_namespace{rng-stream.cc}::Precalculated::a1, anonymous_namespace{rng-stream.cc}::Precalculated::a2, and MatTwoPowModM().

Referenced by PowerOfTwoMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void anonymous_namespace{rng-stream.cc}::PowerOfTwoMatrix ( int  n,
Matrix  a1p,
Matrix  a2p 
)

Definition at line 229 of file rng-stream.cc.

References anonymous_namespace{rng-stream.cc}::Precalculated::a1, anonymous_namespace{rng-stream.cc}::Precalculated::a2, and PowerOfTwoConstants().

Referenced by ns3::RngStream::AdvanceNthBy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

const double anonymous_namespace{rng-stream.cc}::a12 = 1403580.0

Definition at line 42 of file rng-stream.cc.

Referenced by ns3::RngStream::RandU01().

const double anonymous_namespace{rng-stream.cc}::a13n = 810728.0

Definition at line 43 of file rng-stream.cc.

Referenced by ns3::RngStream::RandU01().

const Matrix anonymous_namespace{rng-stream.cc}::A1p0
Initial value:
= {
{ 0.0, 1.0, 0.0 },
{ 0.0, 0.0, 1.0 },
{ -810728.0, 1403580.0, 0.0 }
}

Definition at line 49 of file rng-stream.cc.

const double anonymous_namespace{rng-stream.cc}::a21 = 527612.0

Definition at line 44 of file rng-stream.cc.

Referenced by ns3::RngStream::RandU01().

const double anonymous_namespace{rng-stream.cc}::a23n = 1370589.0

Definition at line 45 of file rng-stream.cc.

Referenced by ns3::RngStream::RandU01().

const Matrix anonymous_namespace{rng-stream.cc}::A2p0
Initial value:
= {
{ 0.0, 1.0, 0.0 },
{ 0.0, 0.0, 1.0 },
{ -1370589.0, 0.0, 527612.0 }
}

Definition at line 55 of file rng-stream.cc.

const double anonymous_namespace{rng-stream.cc}::m1 = 4294967087.0
const double anonymous_namespace{rng-stream.cc}::m2 = 4294944443.0
const double anonymous_namespace{rng-stream.cc}::norm = 1.0 / (m1 + 1.0)

Definition at line 41 of file rng-stream.cc.

Referenced by ns3::RngStream::RandU01().

const double anonymous_namespace{rng-stream.cc}::two17 = 131072.0

Definition at line 46 of file rng-stream.cc.

Referenced by MultModM().

const double anonymous_namespace{rng-stream.cc}::two53 = 9007199254740992.0

Definition at line 47 of file rng-stream.cc.