1 /* random number generator, based on this description of the algorithm
2 * used by the GNU libc: https://www.mathstat.dal.ca/~selinger/random
8 static int32_t rng[34];
9 static int32_t *ptr0, *ptr1;
20 res = (uint32_t)*ptr1 >> 1;
21 if(++ptr0 >= rng + 34) ptr0 = rng;
22 if(++ptr1 >= rng + 34) ptr1 = rng;
27 void srand(unsigned int seed)
32 if(seed == 0) seed = 1;
36 rng[i] = (16807 * rng[i - 1]) % RAND_MAX;
37 if(rng[i] < 0) rng[i] += RAND_MAX;
39 for(i=31; i<34; i++) {
45 for(i=34; i<344; i++) {