6 /* Simple Park-Miller */
8 static __thread
unsigned long pmseed
= 29264;
11 fast_srandom(unsigned long seed_
)
17 fast_random(unsigned int max
)
20 lo
= 16807 * (pmseed
& 0xffff);
21 hi
= 16807 * (pmseed
>> 16);
22 lo
+= (hi
& 0x7fff) << 16;
24 pmseed
= (lo
& 0x7fffffff) + (lo
>> 31);
25 return ((pmseed
& 0xffff) * max
) >> 16;