[vox-tech] random number in C

Bill Broadley vox-tech@lists.lugod.org
Tue, 2 Apr 2002 12:47:39 -0800


On Tue, Apr 02, 2002 at 10:05:34AM -0800, Peter Jay Salzman wrote:
> i wrote some monte carlo code which obtains a random generator seed
> through a read to /dev/random.
> 
> on a lark, i did a run:
> 
> 	T: 4.0e+00  beta: 2.500e-01  trials: 1000000
> 	N: 10  M: 10  seed: 208006379

What code did you use to read from /dev/random(provide source)?  
What exact call did you call with rand() (provide source)?  
How exactly did you initialize the random number generator (provide source)?

You did pass the seed to srand() and not rand() right?

> the seed for these two runs is the same.  i would've expected that calls
> to rand() should've generated the same set of random numbers.  yet the
> different runs of the monte carlo code yield different results, which is
> fine, except i was expecting it to be exactly the same since the seed is
> the same.

A reasonable expectation.

If you port to any other platform you should use random and srandom
which provides for higher quality implemtnations on most platforms
(besides linux).   It also allows you to set a more complex seed.

-- 
Bill Broadley
Mathematics/Institute of Theoretical Dynamics
UC Davis