#include static unsigned temper(unsigned x) { x ^= x >> 11; x ^= x << 7 & 0x9D2C5680; x ^= x << 15 & 0xEFC60000; x ^= x >> 18; return x; } int rand_r(unsigned* seed) { return temper(*seed = *seed * 1103515245 + 12345) / 2; }