Author: Stefan Meyer-Kahlen
Date: 09:39:12 01/13/00
Go up one level in this thread
On January 13, 2000 at 11:29:25, Thorsten Greiner wrote: >On January 13, 2000 at 11:22:20, Vincent Diepeveen wrote: > >>number = rand()%total; > >rand() is evil. It uses a linear congruency method like > > new random number = (old random number * constant + constant) % constant > >Information in low bits of 'old random number' is lost in this formula. Since >the number of seconds since 1970 is pretty much constant in lets say January >2000, the random numbers produced will be quite similar... > >Also, never use modulo on the results of rand() - use something like > > rand() / (RAND_MAX / total) > >since the low bits of rand() are not as random as the high bits. Or use a real >random generator - here is a good one: http://www.agner.org/random > >Rgds > -Thorsten Thorsten is really an expert as far as random numbers are concerned. I am using his random number generator in Shredder for a couple of years now, before that I also had similiar problems with rand(). Stefan
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.