aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Grois <andi@grois.info>2022-10-24 09:12:19 +0200
committerAndreas Grois <andi@grois.info>2022-10-24 09:12:19 +0200
commit85dd4036bab59f7d56c221df15d37485fd7e42de (patch)
treeaf7c135ae98dbe2359e2e138e0234fa881063390 /src
parent1f57846664b97f0cb630bf5fee13dfbc66f7c77a (diff)
parent6b36d6396915181d38598928e35a20cf2308c5aa (diff)
Merge branch 'main' into feature/heap-allocation-free-base-conversion
Diffstat (limited to 'src')
-rw-r--r--src/passwordmaker/base_conversion/iterative_conversion_impl/mod.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/passwordmaker/base_conversion/iterative_conversion_impl/mod.rs b/src/passwordmaker/base_conversion/iterative_conversion_impl/mod.rs
index 5397f03..96ca497 100644
--- a/src/passwordmaker/base_conversion/iterative_conversion_impl/mod.rs
+++ b/src/passwordmaker/base_conversion/iterative_conversion_impl/mod.rs
@@ -300,7 +300,7 @@ macro_rules! make_div_assign_with_remainder {
debug_assert!((<$t_long>::MAX >> 32) as u128 >= <$t_divisor>::MAX as u128);
let divisor = *rhs as $t_long;
- let remainder = self.0.iter_mut().fold(0 as $t_long,|carry, current| {
+ let remainder = self.0.iter_mut().skip_while(|x| **x == 0).fold(0 as $t_long,|carry, current| {
debug_assert_eq!(carry, carry & (<$t_divisor>::MAX as $t_long)); //carry has to be lower than divisor, and divisor is $t_divisor.
let carry_shifted = carry << 32;
let dividend = (carry_shifted) | (*current as $t_long);