Re: your implementation of L'Ecuyer's MRG32k3a generator

*Brad Lucier* 02 Mar 2002 05:31 UTC

> At the moment I am redesigning the SRFI-27 on random sources.
>
> I have adopted your proposal of using the MRG32k3a method of P. L'Ecuyer
> as the default implementation and have implemented it just using
> (allocated)
> integers.
I happen to be at the University of Montreal this year, so I contacted
L'Ecuyer, and he gave me a paper that is available at his website:
http://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams001.pdf
and/or
http://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00s.pdf
The second file is a summary of the first.
These papers describe, with an implementation, a method of generating
independent streams of random numbers from the MRG32k3a generator. The
C++, C, and java implementations of the RNG in this paper can be found at
http://www.iro.umontreal.ca/~lecuyer/myftp/streams00/
The problem of generating independent streams of uniform random numbers is an
important one, and it would be nice if this SRFI could address the question.
I'm not sure that we want to use his interface, but his method of generating
independent streams is quite nice.
BTW, I have come across more implementations of Scheme that have flonums
but do not have bignums (e.g., Bigloo, I don't know if it's still the case),
that I don't have a problem with an SRFI proposing an RNG that requires
double-precision IEEE fp arithmetic for efficient implementation.
Brad