Integer value of any numerical type that supports the modulo operator %. If bit-shifting << and >> are also supported, Stein's algorithm will be used; otherwise, Euclid's algorithm is used as a fallback.
Integer value of any equivalent numerical type.
The greatest common divisor of the given arguments.
assert(gcd(2 * 5 * 7 * 7, 5 * 7 * 11) == 5 * 7); const int a = 5 * 13 * 23 * 23, b = 13 * 59; assert(gcd(a, b) == 13);
Computes the greatest common divisor of a and b by using an efficient algorithm such as Euclid's or Stein's algorithm.