diff --git a/src/uu/factor/src/numeric/gcd.rs b/src/uu/factor/src/numeric/gcd.rs index 6273e788c..01e4a23bd 100644 --- a/src/uu/factor/src/numeric/gcd.rs +++ b/src/uu/factor/src/numeric/gcd.rs @@ -72,11 +72,14 @@ mod tests { gcd(1, a) == 1 } + fn zero(a: u64) -> bool { + gcd(0, a) == a + } + fn divisor(a: u64, b: u64) -> bool { // Test that gcd(a, b) divides a and b let g = gcd(a, b); - if g == 0 { return a == 0 && b == 0; } - a % g == 0 && b % g == 0 + (g != 0 && a % g == 0 && b % g == 0) || (g == 0 && a == 0 && b == 0) } fn commutative(a: u64, b: u64) -> bool {