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
)