5 gcd_ll (unsigned long long x
, unsigned long long y
)
10 return (unsigned long) x
;
13 return (unsigned long) y
;
19 powmod_ll (unsigned long long b
, unsigned e
, unsigned long long m
)
22 unsigned long long pow
;
28 /* Find the most significant bit in E. */
30 for (i
= 0; t
!= 0; i
++)
33 /* The most sign bit in E is handled outside of the loop, by beginning
34 with B in POW, and decrementing I. */
48 unsigned long factab
[10];
51 facts (t
, a_int
, x0
, p
)
57 unsigned long *xp
= factab
;
58 unsigned long long x
, y
;
60 unsigned long long a
= a_int
;
70 for (i
= 1; i
< 10000; i
++)
72 x
= powmod_ll (x
, p
, t
) + a
;
73 y
= powmod_ll (y
, p
, t
) + a
;
74 y
= powmod_ll (y
, p
, t
) + a
;
80 q
= (unsigned long long) q
* tmp
% t
;
104 unsigned long long t
;
115 if (factab
[0] != 7 || factab
[1] != 73 || factab
[2] != 262657)