Fix lcg_rand_u32() to return 32 random bits.
authorSøren Sandmann Pedersen <ssp@redhat.com>
Wed, 3 Aug 2011 22:38:20 +0000 (18:38 -0400)
committerSøren Sandmann Pedersen <ssp@redhat.com>
Thu, 11 Aug 2011 07:32:14 +0000 (03:32 -0400)
commit842591d9d12a24a9a06308ae03996153c5a99e64
treee888530c7abd588fedc4df34bbc82b05ca07b920
parent12da53f81c4a507a963641796132bbafe0cd6224
Fix lcg_rand_u32() to return 32 random bits.

The lcg_rand() function only returns 15 random bits, so lcg_rand_u32()
would always have 0 in bit 31 and bit 15. Fix that by calling
lcg_rand() three times, to generate 15, 15, and 2 random bits
respectively.

V2: Use the 10/11 most significant bits from the 3 lcg results and mix
them with the low ones from the adjacent one, as suggested by Andrea
Canciani.
test/utils.h