mersenne-random

Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister

http://code.haskell.org/~dons/code/mersenne-random

LTS Haskell 22.42:1.0.0.1
Stackage Nightly 2024-11-24:1.0.0.1
Latest on Hackage:1.0.0.1

See all snapshots mersenne-random appears in

BSD-3-Clause licensed by Don Stewart
Maintained by Don Stewart
This version can be pinned in stack with:mersenne-random-1.0.0.1@sha256:c2c7c88765030e4a6003e921e7676858a048f75bc2f38d58ddafd3b102be6d82,3637

Module documentation for 1.0.0.1

Depends on 2 packages(full list with versions):

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 pseudorandom numbers

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 secure.

For more information about the algorithm and implementation, see the SFMT homepage,

http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html

and, Mutsuo Saito and Makoto Matsumoto, /SIMD-oriented Fast Mersenne Twister: a 128-bit Pseudorandom Number Generator/, in the Proceedings of MCQMC2006, here:

http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/sfmt.pdf