diff options
Diffstat (limited to 'src/libstd/num')
| -rw-r--r-- | src/libstd/num/bigint.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstd/num/bigint.rs b/src/libstd/num/bigint.rs index 74e5b00d896..526272883b7 100644 --- a/src/libstd/num/bigint.rs +++ b/src/libstd/num/bigint.rs @@ -623,7 +623,7 @@ impl BigUint { let mut shifted = ~[]; for self.data.each_reverse |elem| { shifted = ~[(*elem >> n_bits) | borrow] + shifted; - borrow = *elem << (uint::bits - n_bits); + borrow = *elem << (BigDigit::bits - n_bits); } return BigUint::new(shifted); } @@ -1213,6 +1213,7 @@ mod biguint_tests { check(~[1 << 2], 2, ~[1]); check(~[1, 2], 3, ~[1 << (BigDigit::bits - 2)]); check(~[1, 1, 2], 3 + BigDigit::bits, ~[1 << (BigDigit::bits - 2)]); + check(~[0, 1], 1, ~[0x80000000]); test_shr_bits(); #[cfg(target_arch = "x86_64")] |
