#include <trng.h>
Inheritance diagram for TRNG::ParkMiller:
Public Methods | |
const char* | name (void) |
pseudo random number generator's name. More... | |
void | reset (void) |
reset the pseudo random number generator. More... | |
void | seed (long s=0l) |
seed the pseudo random number generator. More... | |
long | rand (void) |
next pseudo random number. More... | |
void | split (long s, long n) |
sequence splitting. More... | |
void | jump2 (long s) |
sequence splitting. More... | |
void | save_status (std::vector<long> &s) |
status saving. More... | |
void | load_status (const std::vector<long> &s) |
status restoring. More... | |
ParkMiller (long a_=16807l, long modulus_=2147483647l, long seed_=0l) | |
constructor. More... | |
Static Public Attributes | |
const RNG_type | type = ParkMiller_t |
pseudo random number generator type. More... |
This class implements a simple linear congruential pseudo random number generator with a prime modulus in the form
is the actual pseudo random number. The modulus
has to be a prime smaller than
and
a generating element of the multiplicative group modulo
to generate a maxmal length period.
Definition at line 1049 of file trng.h.
|
The constructor's default values implement a modified random number generator proposed by Park and Miller. This generator has a period of
|
|
Returns a pointer to a zero terminated string containing the pseudo random number generator's name.
Reimplemented from TRNG::RNG. |
|
The pseudo random number generator's parameters are set to some default values. Reimplemented from TRNG::RNG. |
|
The pseudo random number generator's state is set. Calling reset() and seed() with the seed value used by the initialisation will set the generator in the same state as after initialisation.
Reimplemented from TRNG::RNG. |
|
This is the generator's core method. It calculates the next pseudo random number. It's an integer number
Reimplemented from TRNG::RNG. |
|
The pseudo random number generator's sequence is splitted into
Reimplemented from TRNG::RNG. |
|
The pseudo random number generator jumps
Reimplemented from TRNG::RNG. |
|
The status of the pseudo random number generator is saved into a vector.
Reimplemented from TRNG::RNG. |
|
The status of the pseudo random number generator is restored from a vector.
Reimplemented from TRNG::RNG. |
|
This numerical value determins the random number generator type. Reimplemented from TRNG::RNG. |