Lines Matching refs:a
20 static unsigned long binary_gcd(unsigned long a, unsigned long b) in binary_gcd() argument
22 unsigned long r = a | b; in binary_gcd()
29 a >>= __ffs(a); in binary_gcd()
30 if (a == 1) in binary_gcd()
32 if (a == b) in binary_gcd()
33 return a << __ffs(r); in binary_gcd()
35 if (a < b) in binary_gcd()
36 swap(a, b); in binary_gcd()
37 a -= b; in binary_gcd()
50 unsigned long gcd(unsigned long a, unsigned long b) in gcd() argument
52 unsigned long r = a | b; in gcd()
54 if (!a || !b) in gcd()
59 return binary_gcd(a, b); in gcd()
71 while (!(a & r)) in gcd()
72 a >>= 1; in gcd()
73 if (a == r) in gcd()
75 if (a == b) in gcd()
76 return a; in gcd()
78 if (a < b) in gcd()
79 swap(a, b); in gcd()
80 a -= b; in gcd()
81 a >>= 1; in gcd()
82 if (a & r) in gcd()
83 a += b; in gcd()
84 a >>= 1; in gcd()