### 9.4 Detailed description of RNGs ¶

There are really two types of RNGs:

`Integer`

  RNGs provide uniformly distributed, unsigned 32 bit integers.

`RNGs`

  use Integer RNGs to provide other kinds of random numbers.

By default, the Integer RNG used is a faithful adaptation of the Mersenne Twister `MT19937` Nishimura (see ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30, http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html, http://www.acm.org/pubs/citations/journals/tomacs/1998-8-1/p3-matsumoto/). This generator has a period of 2^(19937)-1 , passed several stringent statistical tests (including the http://stat.fsu.edu/~geo/diehard.html tests), and has speed comparable to other modern generators.