STORMM Source Documentation
|
The "Xoshiro256++" random number generator. While not cryptographically useful, it is a rock-solid random number generator for both floating-point and 64-bit integer results. More...
#include <random.h>
Public Member Functions | |
Xoshiro256ppGenerator (int igseed=default_random_seed, int niter=50) | |
The constructor can start or restart the generator. | |
Xoshiro256ppGenerator (const ullint4 state_in) | |
double | uniformRandomNumber () |
Return a single random number distributed over a uniform distribution [0, 1). This is an internal generator based on an integer vector state which will provide reproducible results across platforms. | |
float | spUniformRandomNumber () |
Return a single random number distributed over a uniform distribution [0, 1), in single-precision. While the XOR-shift random generators have a distinct method for producing single-precision random numbers (selecting the highest-quality bits), this merely calls uniformRandomNumber() and exists for compatibility with the other generators in templated xxxxRand() functions. | |
double | gaussianRandomNumber () |
Return a normally distributed random number with standard deviation 1.0. This works off of the uniform random number generator and will thus advance the state vector of the random number generator that produces the result. | |
float | spGaussianRandomNumber () |
Produce a single-precision random number on the normal distribution with a standard deviation of 1.0. Like spUniformRandomNumber(), this function merely calls gaussianRandomNumber() and exists for compatibility with other random number generators in templated functions. | |
void | jump () |
Jump forward 2^128 iterations in the sequence. | |
void | longJump () |
Jump forward 2^192 iterations in the sequence. | |
ullint4 | revealState () const |
Reveal the current state of the generator. | |
ullint | revealBitString () const |
Reveal the random bit string. | |
void | setState (const ullint4 state_in) |
Set the current state of the generator. | |
The "Xoshiro256++" random number generator. While not cryptographically useful, it is a rock-solid random number generator for both floating-point and 64-bit integer results.
stormm::random::Xoshiro256ppGenerator::Xoshiro256ppGenerator | ( | int | igseed = default_random_seed, |
int | niter = 50 ) |
The constructor can start or restart the generator.
Overloaded:
igseed | The pseudo-randome number seed |
niter | Number of iterations to run through while equilibrating the generator |
state_in | State to accept |