Library Name:

Mersenne Twister
A uniform pseudorandom number generator

Version Number:

1.0.1

Author(s):

Thorsten Zoerner

Download Page:

Click here, or see below

More Information:

-

Short Description:

The Mersenne Twister is a uniform pseudorandom number generator (for both real and integers), which has been developed by Makoto Matsumoto and Takuji Nishimura during 1996-1997.

The generated numbers have a period of 219937-1. They are uniformly distributed over the interval [0, 1] in the real case and over the interval [-231, 231-1] in the integer case.

    Caveat: As Clean does not have 32-bit unsigned integers, the integer version  of the Mersenne Twister returns 32-bit signed integers. Nevertheless in the real  case the output of the Clean program equals the output of any reference implementation.

We refer to the Mersenne Twister Homepage for details and implementations in other languages.

This implementation in Clean is a rewrite of a C program by T. Nishimura which can be found on-line or e. g. in the paper

    Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom  number generator
    by M. Matsumoto and T. Nishimura in ACM Transactions on Modeling and Computer Simulation,
    vol. 8, no. 1, January 1998, pp. 3-30. (
    PostScript)

Comments, remarks and suggestions are very welcome and should be made directly to Thorsten Zoerner (zoerner@cs.kun.nl ).

Download

Version  history

tar.gz

zip

MersenneTwister Library

function

name

types/remarks

getRandReal

real pseudorandom number generator

Int -> [Real]

Input: Any nonzero integer as a seed value.
Returns an infinite list of real numbers, uniformly distributed over the interval [0, 1].

getRandInt

signed integer pseudorandom number generator

Int -> [Int]

Input: Any nonzero integer as a seed value.
Returns an infinite list of signed integer numbers, uniformly distributed over the  interval [-231, 231 -1].