4 static unsigned long seed = 47114711;
5 unsigned long this = seed * 1103515245 + 12345;
22 n_bits = (ran >> 1) % 16;
31 x |= (1 << n_bits) - 1;
33 if (tot_bits > 8 * sizeof (long) + 6)
39 #define ABS(x) ((x) >= 0 ? (x) : -(x))
45 for (i = 0; i < 1000; i++)
48 x = random_bitstring ();
49 y = random_bitstring ();
51 if (sizeof (int) == sizeof (long))
54 { unsigned long xx = x, yy = y, r1, r2;
55 if (yy == 0) continue;
58 if (r2 >= yy || r1 * yy + r2 != xx)
61 { signed long xx = x, yy = y, r1, r2;
62 if ((unsigned long) xx << 1 == 0 && yy == -1)
66 if (ABS (r2) >= (unsigned long) ABS (yy) || (signed long) (r1 * yy + r2) != xx)
70 { unsigned int xx = x, yy = y, r1, r2;
71 if (yy == 0) continue;
74 if (r2 >= yy || r1 * yy + r2 != xx)
77 { signed int xx = x, yy = y, r1, r2;
78 if ((unsigned int) xx << 1 == 0 && yy == -1)
82 if (ABS (r2) >= (unsigned int) ABS (yy) || (signed int) (r1 * yy + r2) != xx)
85 { unsigned short xx = x, yy = y, r1, r2;
86 if (yy == 0) continue;
89 if (r2 >= yy || r1 * yy + r2 != xx)
92 { signed short xx = x, yy = y, r1, r2;
95 if (ABS (r2) >= (unsigned short) ABS (yy) || (signed short) (r1 * yy + r2) != xx)
98 { unsigned char xx = x, yy = y, r1, r2;
99 if (yy == 0) continue;
102 if (r2 >= yy || r1 * yy + r2 != xx)
105 { signed char xx = x, yy = y, r1, r2;
108 if (ABS (r2) >= (unsigned char) ABS (yy) || (signed char) (r1 * yy + r2) != xx)