mersenne-random: Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister

[ bsd3, library, math, system ] [ Propose Tags ]

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.

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,

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

[Skip to Readme]




Automatic Flags

Build with new smaller base library


Build with SSE2 support.


Build with Altivec support.


Build for a big endian 64 bit machine.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.1.3, 1.0,
Dependencies base, old-time [details]
License BSD-3-Clause
Copyright (c) 2008. Don Stewart <>
Author Don Stewart
Maintainer Don Stewart <>
Category Math, System
Home page
Uploaded by DonaldStewart at 2008-01-22T03:50:41Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 9 direct, 3660 indirect [details]
Downloads 7015 total (26 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for mersenne-random-0.1

[back to package description]
To build with sse2 support (core2 and other intels)

    $ runhaskell Setup.lhs -f use_sse2

Similar flags for altivec on the mac