Returns a value in the range [0, 1) using 32 bits of precision (with thanks to Dr Jurgen A Doornik)
Returns a value in the range [0, 1) using 52 bits of precision (with thanks to Dr Jurgen A Doornik)
Returns X such that 0 <= X <= uint.max
Returns X such that 0 <= X < max
Returns X such that min <= X < max
Seed the generator with current time
Seed the generator with a provided value
Creates and seeds a new generator with the current time
A global, shared instance, seeded via startup time
KISS (from George Marsaglia)
The idea is to use simple, fast, individually promising generators to get a composite that will be fast, easy to code have a very long period and pass all the tests put to it. The three components of KISS are
The y's are a shift register sequence on 32bit binary vectors period 2^32-1; The z's are a simple multiply-with-carry sequence with period 2^63+2^32-1. The period of KISS is thus
Note that this should be passed by reference, unless you really intend to provide a local copy to a callee