Explorar o código

fix abs_diff bug

Aaron Kutch %!s(int64=4) %!d(string=hai) anos
pai
achega
a0d09b00f8
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      src/int/mod.rs

+ 5 - 1
src/int/mod.rs

@@ -250,7 +250,11 @@ macro_rules! int_impl {
             }
 
             fn abs_diff(self, other: Self) -> Self {
-                (self.wrapping_sub(other) as $ity).wrapping_abs() as $uty
+                if self < other {
+                    other.wrapping_sub(self)
+                } else {
+                    self.wrapping_sub(other)
+                }
             }
 
             int_impl_common!($uty);