[Numpy-discussion] random and RandomArray
Robert Kern
rkern at ucsd.edu
Thu Feb 17 07:45:19 EST 2005
Bruce Southey wrote:
> Hi,
> The Mersenne Twister is available in Python as:
>
> /Python-2.4/Modules/_randommodule.c
>
> This file contains the outdated information:
> "The code in this module was based on a download from:
> http://www.math.keio.ac.jp/~matumoto/MT2002/emt19937ar.html"
>
> The redirected link is titled: Mersenne Twister with improved initialization
> http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html
>
> A brief look at randlib() suggests that it is written so that different uniform
> generators could be used. Could randf() be rewritten to have the default
> (current status) function and a second that just to link to the random module
> library to use the Mersenne Twister?
>
> Okay, I do know it is not that easy (the seed code would also need to change so
> account for which generator is being used) but may be sufficient.
All the functions from _randommodule.c that we would need to use are
declared static. I'm fairly sure this precludes trying to "link" to
_randommodule.so to use these functions. The standard way to do such a
thing would be for _randommodule.c to expose function pointers as
PyCObjects, but that would require modification of _randommodule.c.
The path of least resistence is to just duplicate the code. It's short,
clean, well-tested, and widely-used. It should not present a real
maintenance problem. Certainly no more of one trying to share the
implementation with _randommodule.
--
Robert Kern
rkern at ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
More information about the NumPy-Discussion
mailing list