SourcePro® API Reference Guide

 
Loading...
Searching...
No Matches
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 (const RWRandGenMCG31M1 &u)
 
 RWRandGenMCG31M1 (unsigned long seed)
 
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>
Generates random numbers uniformly distributed over the interval [0, 1].
Definition randmcg31m1.h:60

Constructor & Destructor Documentation

◆ RWRandGenMCG31M1() [1/3]

RWRandGenMCG31M1::RWRandGenMCG31M1 ( )

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

◆ RWRandGenMCG31M1() [2/3]

RWRandGenMCG31M1::RWRandGenMCG31M1 ( unsigned long seed)

Constructs a generator with a specified seed.

◆ RWRandGenMCG31M1() [3/3]

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

◆ operator()()

double RWRandGenMCG31M1::operator() ( )
virtual

Returns a random double in [0,1].

Implements RWRandGenBasicMLC.

◆ operator=()

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 © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.