Thus spake Andrey A. Chernov <[EMAIL PROTECTED]>: > On Mon, Feb 03, 2003 at 21:40:20 -0800, David Schultz wrote: > I don't try to make rand() good for high-quality pseudo-randomness, > because it can be done by price of speed and, more important, big state > size. Due to rand_r() restriction state size can be one word only, so we > can choose rand() algorithm only from those which pass this > restrictions.
You can do better than the present generator with 32 bits of state. See the following page by Neal Wagner (not to be confused with David Wagner): http://www.cs.utsa.edu/~wagner/laws/rng.html The section on LCGs suggests that the multiplier FreeBSD uses (7^5) is not particularly good, and points out some better values suggested by Knuth. I can't find the original discussion in TAOCP vol. 2, but I take N. Wagner's word that the numbers have been blessed by the holy hand of Knuth. I'm sure you can find more information if you search the literature. I apologize, but I don't have time to help you right now, and rand() isn't really a concern to me. > Returning to current algorithm, I am interested in good NSHUFF value in > the range 100-2000. Do you have any findings there? Well, if 0 doesn't work, and 10 doesn't work, and 100 doesn't work, then I'm not too hopeful about 2000. I appeal to Asimov's zero, one, infinity law. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message