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.

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


[Skip to Readme]

Modules

[Index]

Flags

Automatic Flags
NameDescriptionDefault
small_base

Build with new smaller base library

Disabled
use_sse2

Build with SSE2 support.

Disabled
use_altivec

Build with Altivec support.

Disabled
big_endian64

Build for a big endian 64 bit machine.

Disabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.1.3, 1.0, 1.0.0.1
Dependencies base (<5), old-time [details]
License BSD-3-Clause
Copyright (c) 2008-2011. Don Stewart <dons00@gmail.com>
Author Don Stewart
Maintainer Don Stewart <dons00@gmail.com>
Category Math, System
Home page http://code.haskell.org/~dons/code/mersenne-random
Uploaded by DonaldStewart at 2011-06-18T18:36:20Z
Distributions LTSHaskell:1.0.0.1, NixOS:1.0.0.1, Stackage:1.0.0.1
Reverse Dependencies 9 direct, 3690 indirect [details]
Downloads 7121 total (44 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-1.0.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