ns2 Network Simulator      C++ Class Hierarchy of version ns-snapshot-20040722
Home |  Source Code |  Manual |  FAQ |  Mailing List Archive |  Search |  Download | 


Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ns-2/tools/rng.cc File Reference

#include <sys/time.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include "rng.h"

Compounds

class  RNGClass

Defines

#define N_SEEDS_   64

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 char rcsid []
RNGClass class_rng
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]

Define Documentation

#define N_SEEDS_   64
 


Function Documentation

int CheckSeed const unsigned long    seed[6] [static]
 

void MatMatModM const double    A[3][3],
const double    B[3][3],
double    C[3][3],
double    m
[static]
 

void MatPowModM const double    A[3][3],
double    B[3][3],
double    m,
long    n
[static]
 

void MatTwoPowModM const double    A[3][3],
double    B[3][3],
double    m,
long    e
[static]
 

void MatVecModM const double    A[3][3],
const double    s[3],
double    v[3],
double    m
[static]
 

double 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 } 
        }

RNGClass class_rng [static]
 

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 char rcsid[] [static]
 

Initial value:

"@(#) $Header: /nfs/jade/vint/CVSROOT/ns-2/tools/rng.cc,v 1.29 2003/12/17 21:56:15 haldar Exp $ (LBL)"

const double two17 = 131072.0 [static]
 

const double two53 = 9007199254740992.0 [static]
 


This document is generated by doxygen.