proposal to move MT 19937 rng into src/ to replace $random
Subject: proposal to move MT 19937 rng into src/ to replace $random
From: Robert Dodier
Date: Tue, 8 Mar 2005 19:17:55 -0800 (PST)
Hello,
I propose that the MT 19937 random number generator be moved
into src/ to replace the existing definition of $random.
MT 19937 is a Mersenne twister rng, adapted from the CMUCL
rng of the same name.
Jim and Ray -- I would like to know what you think of this
proposal. But I also welcome comments from everyone.
The purpose here is to have
(1) the same Maxima rng in all Lisps, and
(2) a mechanism from Maxima level to access the rng state.
You may recall there was some discussion of random number
generators back in January. At that time I hacked CMUCL
MT 19937 to work in Maxima. I also constructed some tests
and verified the modified MT 19937 passed the tests (such
as they are). The details may be found at:
http://maxima.sf.net/wiki/index.php/Modified%20MT%2019937%20rng
Few changes are needed. Aside from build system adjustments,
the existing $random would be cut from suprv1.lisp and
def%tr $random in trans2.lisp adjusted. There are a few
mentions of random in share files; I believe these will
not be affected. I would also write a test script to go
into the Maxima test suite.
For the record, the existing $random punts to the Lisp
random function. Lisp implementations can and do choose
different rng algorithms and state representations.
Robert Dodier
__________________________________
Celebrate Yahoo!'s 10th Birthday!
Yahoo! Netrospective: 100 Moments of the Web
http://birthday.yahoo.com/netrospective/