Xorshift uniform random number generators were introduced by George
Marsaglia in 2003, as a means of providing fast and lightweight
pseudo-random number generation with high statistical quality.
This package complements the existing xorshift generators in phobos'
std.random with implementations of some of the extended family of
generators that other researchers have developed from Marsaglia's
essential ideas. Typically these address statistical flaws found
with the original xorshift designs.
Generators in the package are implemented as input ranges with the
postblit and default constructors disabled. This should help to
avoid accidental statistical correlations caused by unintended
copy-by-value of generator state, and ensure that generators cannot
be initialized unseeded.
Xorshift uniform random number generators were introduced by George Marsaglia in 2003, as a means of providing fast and lightweight pseudo-random number generation with high statistical quality.
This package complements the existing xorshift generators in phobos' std.random with implementations of some of the extended family of generators that other researchers have developed from Marsaglia's essential ideas. Typically these address statistical flaws found with the original xorshift designs.
Generators in the package are implemented as input ranges with the postblit and default constructors disabled. This should help to avoid accidental statistical correlations caused by unintended copy-by-value of generator state, and ensure that generators cannot be initialized unseeded.