SourcePro® API Reference Guide

 
List of all members | Public Member Functions
RWRandGenMCG31M1 Class Reference

Generates random numbers uniformly distributed over the interval [0, 1]. More...

#include <rw/randmcg31m1.h>

Inheritance diagram for RWRandGenMCG31M1:
RWRandGenBasicMLC

Public Member Functions

 RWRandGenMCG31M1 ()
 
 RWRandGenMCG31M1 (unsigned long seed)
 
 RWRandGenMCG31M1 (const RWRandGenMCG31M1 &u)
 
double operator() ()
 
RWRandGenMCG31M1operator= (const RWRandGenMCG31M1 &u)
 
- Public Member Functions inherited from RWRandGenBasicMLC
void printOn (std::ostream &s) const
 
void restoreFrom (RWFile &file)
 
void restoreFrom (RWvistream &s)
 
void saveOn (RWFile &file) const
 
void saveOn (RWvostream &s) const
 
void scanFrom (std::istream &s)
 

Additional Inherited Members

Detailed Description

Class RWRandGenMCG31M1 generates random numbers uniformly distributed over the interval [0, 1], and may be used instead of class RWRandGenerator as a template parameter to any of the distribution generators derived from abstract base class RWTRand.

RWRandGenMCG31M1 is a 31-bit multiplicative congruential generator.

\[ \begin{align} x_n &= ax_{n-1}(\bmod m)\\ u_n &= x_{n}/m\\ a &= 1132489760, m = 2^{31 - 1} \end{align} \]

Unlike RWRandGenerator, each instance of RWRandGenMCG31M1 contains and maintains its own, independent state. This can make it easier to use in some situations. The "internal state" of an instance of RWRandGenMCG31M1 consists of only a seed.

Synopsis
#include <rw/randmcg31m1.h>

Constructor & Destructor Documentation

RWRandGenMCG31M1::RWRandGenMCG31M1 ( )

Constructs a generator, arbitrarily seeded by a call to the time() function.

RWRandGenMCG31M1::RWRandGenMCG31M1 ( unsigned long  seed)

Constructs a generator with a specified seed.

RWRandGenMCG31M1::RWRandGenMCG31M1 ( const RWRandGenMCG31M1 u)
inline

Constructs a copy of u. The copy's state will equal the state of u at the time the copy is created, but will not share the state of u.

Member Function Documentation

double RWRandGenMCG31M1::operator() ( )
virtual

Returns a random double in [0,1].

Implements RWRandGenBasicMLC.

RWRandGenMCG31M1& RWRandGenMCG31M1::operator= ( const RWRandGenMCG31M1 u)
inline

Assigns a copy of u to self. The copy's state will equal the state of u at the time the copy is created, but will not share the state of u.

Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.