7 static unsigned long seed
= 47114711;
8 unsigned long this = seed
* 1103515245 + 12345;
25 n_bits
= (ran
>> 1) % 16;
34 x
|= (1 << n_bits
) - 1;
36 if (tot_bits
> 8 * sizeof (long) + 6)
42 #define ABS(x) ((x) >= 0 ? (x) : -(x))
49 for (i
= 0; i
< 1000; i
++)
52 x
= random_bitstring ();
53 y
= random_bitstring ();
55 if (sizeof (int) == sizeof (long))
58 { unsigned long xx
= x
, yy
= y
, r1
, r2
;
59 if (yy
== 0) continue;
62 if (r2
>= yy
|| r1
* yy
+ r2
!= xx
)
65 { signed long xx
= x
, yy
= y
, r1
, r2
;
66 if ((unsigned long) xx
<< 1 == 0 && yy
== -1)
70 if (ABS (r2
) >= (unsigned long) ABS (yy
) || (signed long) (r1
* yy
+ r2
) != xx
)
74 { unsigned int xx
= x
, yy
= y
, r1
, r2
;
75 if (yy
== 0) continue;
78 if (r2
>= yy
|| r1
* yy
+ r2
!= xx
)
81 { signed int xx
= x
, yy
= y
, r1
, r2
;
82 if ((unsigned int) xx
<< 1 == 0 && yy
== -1)
86 if (ABS (r2
) >= (unsigned int) ABS (yy
) || (signed int) (r1
* yy
+ r2
) != xx
)
89 { unsigned short xx
= x
, yy
= y
, r1
, r2
;
90 if (yy
== 0) continue;
93 if (r2
>= yy
|| r1
* yy
+ r2
!= xx
)
96 { signed short xx
= x
, yy
= y
, r1
, r2
;
99 if (ABS (r2
) >= (unsigned short) ABS (yy
) || (signed short) (r1
* yy
+ r2
) != xx
)
102 { unsigned char xx
= x
, yy
= y
, r1
, r2
;
103 if (yy
== 0) continue;
106 if (r2
>= yy
|| r1
* yy
+ r2
!= xx
)
109 { signed char xx
= x
, yy
= y
, r1
, r2
;
112 if (ABS (r2
) >= (unsigned char) ABS (yy
) || (signed char) (r1
* yy
+ r2
) != xx
)