#include <trng.h>
Inheritance diagram for TRNG::LCG32:
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... | |
LCG32 (unsigned long a_=69069ul, unsigned long b_=1ul, long seed_=0l) | |
constructor. More... | |
Static Public Attributes | |
const RNG_type | type = LCG32_t |
pseudo random number generator type. More... |
This class implements a simple linear congruential pseudo random number generator with a power of two modulus in the form
is the actual pseudo random number. To get a full period of
and
have to be choosen that
and
is odd.
Definition at line 1092 of file trng.h.
|
The constructor's default values implement a pseudo random number generator used on VAX. 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. |