@@ -28,7 +28,7 @@ impl<const LIMBS: usize> Uint<LIMBS> {
2828 let mut rem = * self ;
2929 let mut quo = Self :: ZERO ;
3030 // If there is overflow, it means `mb == 0`, so `rhs == 0`.
31- let ( mut c, _overflow) = rhs. 0 . shl ( Self :: BITS - mb) ;
31+ let ( mut c, _overflow) = rhs. 0 . overflowing_shl ( Self :: BITS - mb) ;
3232
3333 let mut i = Self :: BITS ;
3434 let mut done = ConstChoice :: FALSE ;
@@ -64,7 +64,7 @@ impl<const LIMBS: usize> Uint<LIMBS> {
6464 let mut rem = * self ;
6565 let mut quo = Self :: ZERO ;
6666 // If there is overflow, it means `mb == 0`, so `rhs == 0`.
67- let ( mut c, _overflow) = rhs. 0 . shl_vartime ( bd) ;
67+ let ( mut c, _overflow) = rhs. 0 . overflowing_shl_vartime ( bd) ;
6868
6969 loop {
7070 let ( mut r, borrow) = rem. sbb ( & c, Limb :: ZERO ) ;
@@ -92,7 +92,7 @@ impl<const LIMBS: usize> Uint<LIMBS> {
9292 let mb = rhs. 0 . bits_vartime ( ) ;
9393 let mut bd = Self :: BITS - mb;
9494 let mut rem = * self ;
95- let ( mut c, _overflow) = rhs. 0 . shl_vartime ( bd) ;
95+ let ( mut c, _overflow) = rhs. 0 . overflowing_shl_vartime ( bd) ;
9696
9797 loop {
9898 let ( r, borrow) = rem. sbb ( & c, Limb :: ZERO ) ;
@@ -123,7 +123,7 @@ impl<const LIMBS: usize> Uint<LIMBS> {
123123 let ( mut lower, mut upper) = lower_upper;
124124
125125 // Factor of the modulus, split into two halves
126- let ( mut c, _overflow) = Self :: shl_vartime_wide ( ( rhs. 0 , Uint :: ZERO ) , bd) ;
126+ let ( mut c, _overflow) = Self :: overflowing_shl_vartime_wide ( ( rhs. 0 , Uint :: ZERO ) , bd) ;
127127
128128 loop {
129129 let ( lower_sub, borrow) = lower. sbb ( & c. 0 , Limb :: ZERO ) ;
@@ -135,7 +135,7 @@ impl<const LIMBS: usize> Uint<LIMBS> {
135135 break ;
136136 }
137137 bd -= 1 ;
138- let ( new_c, _overflow) = Self :: shr_vartime_wide ( c, 1 ) ;
138+ let ( new_c, _overflow) = Self :: overflowing_shr_vartime_wide ( c, 1 ) ;
139139 c = new_c;
140140 }
141141
@@ -634,8 +634,8 @@ mod tests {
634634 fn div ( ) {
635635 let mut rng = ChaChaRng :: from_seed ( [ 7u8 ; 32 ] ) ;
636636 for _ in 0 ..25 {
637- let ( num, _) = U256 :: random ( & mut rng) . shr_vartime ( 128 ) ;
638- let den = NonZero :: new ( U256 :: random ( & mut rng) . shr_vartime ( 128 ) . 0 ) . unwrap ( ) ;
637+ let ( num, _) = U256 :: random ( & mut rng) . overflowing_shr_vartime ( 128 ) ;
638+ let den = NonZero :: new ( U256 :: random ( & mut rng) . overflowing_shr_vartime ( 128 ) . 0 ) . unwrap ( ) ;
639639 let n = num. checked_mul ( den. as_ref ( ) ) ;
640640 if n. is_some ( ) . into ( ) {
641641 let ( q, _) = n. unwrap ( ) . div_rem ( & den) ;
@@ -724,7 +724,7 @@ mod tests {
724724 for _ in 0 ..25 {
725725 let num = U256 :: random ( & mut rng) ;
726726 let k = rng. next_u32 ( ) % 256 ;
727- let ( den, _) = U256 :: ONE . shl_vartime ( k) ;
727+ let ( den, _) = U256 :: ONE . overflowing_shl_vartime ( k) ;
728728
729729 let a = num. rem2k ( k) ;
730730 let e = num. wrapping_rem ( & den) ;
0 commit comments