SourcePro® 2022.1 |
SourcePro® API Reference Guide |
Generates random numbers uniformly distributed over the interval [0, 1]
.
More...
#include <rw/randmcg59.h>
Public Member Functions | |
RWRandGenMCG59 () | |
RWRandGenMCG59 (unsigned long seed) | |
RWRandGenMCG59 (const RWRandGenMCG59 &u) | |
double | operator() () |
RWRandGenMCG59 & | operator= (const RWRandGenMCG59 &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 | |
Related Functions inherited from RWRandGenBasicMLC | |
std::ostream & | operator<< (std::ostream &s, const RWRandGenBasicMLC &gen) |
std::istream & | operator>> (std::istream &s, RWRandGenBasicMLC &gen) |
Class RWRandGenMCG59 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. RWRandGenMCG59 is a 59-bit multiplicative congruential generator.
\[ \begin{align} x_{n} &= ax_{n-1}(\bmod m)\\ u_{n} &= x_{n}/m\\ a &= 13^{13}, m = 2^{59} \end{align} \]
Unlike class RWRandGenerator, each instance of RWRandGenMCG59 contains and maintains its own, independent state. This can make it easier to use in some situations. The "internal state" of an instance of RWRandGenMCG59 consists of only a seed.
|
inline |
Constructs a generator, arbitrarily seeded by a call to the time() function.
|
inline |
Constructs a generator with a specified seed.
|
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.
|
virtual |
Returns a random double in [0,1]
.
Implements RWRandGenBasicMLC.
|
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 © 2022 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |