proposal to move MT 19937 rng into src/ to replace $random



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/