The Mersenne twister is a pseudorandom number generator developed by Makoto
Matsumoto and Takuji Nishimura that is based on a matrix linear recurrence over
a finite binary field. It provides for fast generation of very high quality
This library uses SFMT, the SIMD-oriented Fast Mersenne Twister, a variant of
Mersenne Twister that is much faster than the original. It is designed to be
fast when it runs on 128-bit SIMD. It can be compiled with either SSE2 and
PowerPC AltiVec support, to take advantage of these instructions.
> cabal install -fuse_sse2
On an x86 system, for performance win.
By default the period of the function is 2^19937-1, however, you can compile in
other defaults. Note that this algorithm on its own is not cryptographically
For more information about the algorithm and implementation, see the SFMT
and, Mutsuo Saito and Makoto Matsumoto, /SIMD-oriented Fast Mersenne Twister: a
128-bit Pseudorandom Number Generator/, in the Proceedings of MCQMC2006, here: