File tree 1 file changed +6
-8
lines changed
1 file changed +6
-8
lines changed Original file line number Diff line number Diff line change @@ -274,20 +274,19 @@ macro_rules! impl_integer_for_isize {
274
274
n = n. abs( ) ;
275
275
276
276
// divide n and m by 2 until odd
277
- n >>= n. trailing_zeros( ) ;
278
277
m >>= m. trailing_zeros( ) ;
278
+ n >>= n. trailing_zeros( ) ;
279
279
280
- loop {
280
+ while m != n {
281
281
if m > n {
282
282
m -= n;
283
- if m == 0 { return n << shift; }
284
283
m >>= m. trailing_zeros( ) ;
285
284
} else {
286
285
n -= m;
287
- if n == 0 { return m << shift; }
288
286
n >>= n. trailing_zeros( ) ;
289
287
}
290
288
}
289
+ m << shift
291
290
}
292
291
293
292
/// Calculates the Lowest Common Multiple (LCM) of the number and
@@ -540,20 +539,19 @@ macro_rules! impl_integer_for_usize {
540
539
let shift = ( m | n) . trailing_zeros( ) ;
541
540
542
541
// divide n and m by 2 until odd
543
- n >>= n. trailing_zeros( ) ;
544
542
m >>= m. trailing_zeros( ) ;
543
+ n >>= n. trailing_zeros( ) ;
545
544
546
- loop {
545
+ while m != n {
547
546
if m > n {
548
547
m -= n;
549
- if m == 0 { return n << shift; }
550
548
m >>= m. trailing_zeros( ) ;
551
549
} else {
552
550
n -= m;
553
- if n == 0 { return m << shift; }
554
551
n >>= n. trailing_zeros( ) ;
555
552
}
556
553
}
554
+ m << shift
557
555
}
558
556
559
557
/// Calculates the Lowest Common Multiple (LCM) of the number and `other`.
You can’t perform that action at this time.
0 commit comments