prng: fix rand() to give good sequence with small state
authorSzabolcs Nagy <nsz@port70.net>
Sat, 8 Jun 2013 13:31:10 +0000 (13:31 +0000)
committerSzabolcs Nagy <nsz@port70.net>
Sat, 8 Jun 2013 13:31:10 +0000 (13:31 +0000)
commitc79cd27e9e81eb5e223728094f1233ee2fc12dda
treec210ea1472b25519a62fd33e04e5809a16e76cbc
parentfd1d7be35f1b7f083071e246208498aa3b5ced3e
prng: fix rand() to give good sequence with small state

some applications rely on the low bits of rand() to be reasonably good
quality prng, so now it fixed by using the top bits of a 64 bit LCG,
this is simple, has small state and passes statistical tests.
D.E. Knuth attributes the multiplier to C.E. Haynes in TAOCP Vol2 3.3.4
src/prng/rand.c