C:/Project/EvolveTraffic/RngStream.cpp File Reference

#include <cstdlib>
#include <iostream>
#include "RngStream.h"

Include dependency graph for RngStream.cpp:


Functions

double MultModM (double a, double s, double c, double m)
void MatVecModM (const double A[3][3], const double s[3], double v[3], double m)
void MatMatModM (const double A[3][3], const double B[3][3], double C[3][3], double m)
void MatTwoPowModM (const double A[3][3], double B[3][3], double m, long e)
void MatPowModM (const double A[3][3], double B[3][3], double m, long n)
int CheckSeed (const unsigned long seed[6])

Variables

const double m1 = 4294967087.0
const double m2 = 4294944443.0
const double norm = 1.0 / (m1 + 1.0)
const double a12 = 1403580.0
const double a13n = 810728.0
const double a21 = 527612.0
const double a23n = 1370589.0
const double two17 = 131072.0
const double two53 = 9007199254740992.0
const double fact = 5.9604644775390625e-8
const double InvA1 [3][3]
const double InvA2 [3][3]
const double A1p0 [3][3]
const double A2p0 [3][3]
const double A1p76 [3][3]
const double A2p76 [3][3]
const double A1p127 [3][3]
const double A2p127 [3][3]

Function Documentation

int @44::CheckSeed ( const unsigned long  seed[6]  )  [static]

void @44::MatMatModM ( const double  A[3][3],
const double  B[3][3],
double  C[3][3],
double  m 
) [static]

void @44::MatPowModM ( const double  A[3][3],
double  B[3][3],
double  m,
long  n 
) [static]

void @44::MatTwoPowModM ( const double  A[3][3],
double  B[3][3],
double  m,
long  e 
) [static]

void @44::MatVecModM ( const double  A[3][3],
const double  s[3],
double  v[3],
double  m 
) [static]

double @44::MultModM ( double  a,
double  s,
double  c,
double  m 
) [static]


Variable Documentation

const double a12 = 1403580.0 [static]

const double a13n = 810728.0 [static]

const double A1p0[3][3] [static]

Initial value:

 {
       {       0.0,        1.0,       0.0 },
       {       0.0,        0.0,       1.0 },
       { -810728.0,  1403580.0,       0.0 }
       }

const double A1p127[3][3] [static]

Initial value:

 {
       {    2427906178.0, 3580155704.0,  949770784.0 },
       {     226153695.0, 1230515664.0, 3580155704.0 },
       {    1988835001.0,  986791581.0, 1230515664.0 }
       }

const double A1p76[3][3] [static]

Initial value:

 {
       {      82758667.0, 1871391091.0, 4127413238.0 },
       {    3672831523.0,   69195019.0, 1871391091.0 },
       {    3672091415.0, 3528743235.0,   69195019.0 }
       }

const double a21 = 527612.0 [static]

const double a23n = 1370589.0 [static]

const double A2p0[3][3] [static]

Initial value:

 {
       {        0.0,        1.0,       0.0 },
       {        0.0,        0.0,       1.0 },
       { -1370589.0,        0.0,  527612.0 }
       }

const double A2p127[3][3] [static]

Initial value:

 {
       {    1464411153.0,  277697599.0, 1610723613.0 },
       {      32183930.0, 1464411153.0, 1022607788.0 },
       {    2824425944.0,   32183930.0, 2093834863.0 }
       }

const double A2p76[3][3] [static]

Initial value:

 {
       {    1511326704.0, 3759209742.0, 1610795712.0 },
       {    4292754251.0, 1511326704.0, 3889917532.0 },
       {    3859662829.0, 4292754251.0, 3708466080.0 }
       }

const double fact = 5.9604644775390625e-8 [static]

const double InvA1[3][3] [static]

Initial value:

 {          
       { 184888585.0,   0.0,  1945170933.0 },
       {         1.0,   0.0,           0.0 },
       {         0.0,   1.0,           0.0 }
       }

const double InvA2[3][3] [static]

Initial value:

 {          
       {      0.0,  360363334.0,  4225571728.0 },
       {      1.0,          0.0,           0.0 },
       {      0.0,          1.0,           0.0 }
       }

const double m1 = 4294967087.0 [static]

const double m2 = 4294944443.0 [static]

const double norm = 1.0 / (m1 + 1.0) [static]

const double two17 = 131072.0 [static]

const double two53 = 9007199254740992.0 [static]


Generated on Fri Jul 25 16:10:56 2008 for EvolveTraffic by  doxygen 1.5.6