OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
RNGXDiv Class Reference

#include <RNGXDiv.h>

Public Types

typedef double Return_t
 

Public Member Functions

 RNGXDiv (int advance=0)
 
 RNGXDiv (const RNGXDiv &rng)
 
 ~RNGXDiv (void)
 
void AdvanceSeed (int advance=0)
 
void SetSeed (unsigned long seed)
 
unsigned long GetSeed (void) const
 
Return_t GetRandom (void) const
 
Return_t operator() (void) const
 
 operator Return_t () const
 

Static Public Member Functions

static Return_t GetRandMax (void)
 

Private Member Functions

void advijk (void)
 

Private Attributes

double SeedLower
 
double SeedUpper
 
double RandLower
 
double RandUpper
 

Static Private Attributes

static const double RANDOM_MAX = 16777216.0*16777216.0
 
static const double SQR_RANMAX = 16777216.0
 
static const double INV_SQR_RANMAX = 1.0/RNGXDiv::SQR_RANMAX
 
static const double INV_RANMAX = 1.0/RNGXDiv::RANDOM_MAX
 
static const double SeedMultUpper = 13008944.0
 
static const double SeedMultLower = 170125.0
 
static const double RandMultUpper = 1136868.0
 
static const double RandMultLower = 6328637.0
 
static const double FirstSeed = 1953125.0*9765625.0
 

Detailed Description

Definition at line 38 of file RNGXDiv.h.

Member Typedef Documentation

typedef double RNGXDiv::Return_t

Definition at line 42 of file RNGXDiv.h.

Constructor & Destructor Documentation

RNGXDiv::RNGXDiv ( int  advance = 0)
inline

Definition at line 46 of file RNGXDiv.h.

References AdvanceSeed(), FirstSeed, INV_SQR_RANMAX, SeedLower, SeedUpper, and SQR_RANMAX.

Here is the call graph for this function:

RNGXDiv::RNGXDiv ( const RNGXDiv rng)
inline

Definition at line 55 of file RNGXDiv.h.

RNGXDiv::~RNGXDiv ( void  )
inline

Definition at line 60 of file RNGXDiv.h.

Member Function Documentation

void RNGXDiv::AdvanceSeed ( int  advance = 0)
inline

Definition at line 63 of file RNGXDiv.h.

References advijk(), RandLower, RandUpper, SeedLower, and SeedUpper.

Referenced by RNGXDiv().

Here is the call graph for this function:

void RNGXDiv::advijk ( void  )
inlineprivate

Definition at line 113 of file RNGXDiv.h.

References INV_SQR_RANMAX, SeedLower, SeedMultLower, SeedMultUpper, SeedUpper, and SQR_RANMAX.

Referenced by AdvanceSeed().

static Return_t RNGXDiv::GetRandMax ( void  )
inlinestatic

Definition at line 106 of file RNGXDiv.h.

References RANDOM_MAX.

Referenced by RNGXDivSequence::GetRandMax().

Return_t RNGXDiv::GetRandom ( void  ) const
inline

Definition at line 90 of file RNGXDiv.h.

References INV_RANMAX, INV_SQR_RANMAX, RandLower, RandMultLower, RandMultUpper, RandUpper, and SQR_RANMAX.

Referenced by operator Return_t(), and operator()().

unsigned long RNGXDiv::GetSeed ( void  ) const
inline

Definition at line 82 of file RNGXDiv.h.

References FirstSeed, Options::seed, SeedLower, SeedUpper, and SQR_RANMAX.

RNGXDiv::operator Return_t ( ) const
inline

Definition at line 103 of file RNGXDiv.h.

References GetRandom().

Here is the call graph for this function:

Return_t RNGXDiv::operator() ( void  ) const
inline

Definition at line 100 of file RNGXDiv.h.

References GetRandom().

Here is the call graph for this function:

void RNGXDiv::SetSeed ( unsigned long  seed)
inline

Definition at line 72 of file RNGXDiv.h.

References FirstSeed, INV_SQR_RANMAX, RandLower, RandUpper, SeedLower, SeedUpper, and SQR_RANMAX.

Member Data Documentation

const double RNGXDiv::FirstSeed = 1953125.0*9765625.0
staticprivate

Definition at line 132 of file RNGXDiv.h.

Referenced by GetSeed(), RNGXDiv(), and SetSeed().

const double RNGXDiv::INV_RANMAX = 1.0/RNGXDiv::RANDOM_MAX
staticprivate

Definition at line 127 of file RNGXDiv.h.

Referenced by GetRandom().

const double RNGXDiv::INV_SQR_RANMAX = 1.0/RNGXDiv::SQR_RANMAX
staticprivate

Definition at line 126 of file RNGXDiv.h.

Referenced by advijk(), GetRandom(), RNGXDiv(), and SetSeed().

double RNGXDiv::RandLower
mutableprivate

Definition at line 110 of file RNGXDiv.h.

Referenced by AdvanceSeed(), GetRandom(), and SetSeed().

const double RNGXDiv::RandMultLower = 6328637.0
staticprivate

Definition at line 131 of file RNGXDiv.h.

Referenced by GetRandom().

const double RNGXDiv::RandMultUpper = 1136868.0
staticprivate

Definition at line 130 of file RNGXDiv.h.

Referenced by GetRandom().

const double RNGXDiv::RANDOM_MAX = 16777216.0*16777216.0
staticprivate

Definition at line 124 of file RNGXDiv.h.

Referenced by GetRandMax().

double RNGXDiv::RandUpper
mutableprivate

Definition at line 110 of file RNGXDiv.h.

Referenced by AdvanceSeed(), GetRandom(), and SetSeed().

double RNGXDiv::SeedLower
private

Definition at line 109 of file RNGXDiv.h.

Referenced by AdvanceSeed(), advijk(), GetSeed(), RNGXDiv(), and SetSeed().

const double RNGXDiv::SeedMultLower = 170125.0
staticprivate

Definition at line 129 of file RNGXDiv.h.

Referenced by advijk().

const double RNGXDiv::SeedMultUpper = 13008944.0
staticprivate

Definition at line 128 of file RNGXDiv.h.

Referenced by advijk().

double RNGXDiv::SeedUpper
private

Definition at line 109 of file RNGXDiv.h.

Referenced by AdvanceSeed(), advijk(), GetSeed(), RNGXDiv(), and SetSeed().

const double RNGXDiv::SQR_RANMAX = 16777216.0
staticprivate

Definition at line 125 of file RNGXDiv.h.

Referenced by advijk(), GetRandom(), GetSeed(), RNGXDiv(), and SetSeed().


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