1#include <stdlib.h> 2 3static unsigned temper(unsigned x) 4{ 5 x ^= x>>11; 6 x ^= x<<7 & 0x9D2C5680; 7 x ^= x<<15 & 0xEFC60000; 8 x ^= x>>18; 9 return x; 10} 11 12int rand_r(unsigned *seed) 13{ 14 return temper(*seed = *seed * 1103515245 + 12345)/2; 15} 16