Fix debug_asserts that are not strict enough

This commit is contained in:
Aphek
2020-10-02 01:53:38 -03:00
parent 3872230fdb
commit aa0cc9c4c7
+2 -2
View File
@@ -112,7 +112,7 @@ pub unsafe fn compute_pow5(i: u32) -> (u64, u64) {
let b0 = m as u128 * mul.0 as u128;
let b2 = m as u128 * mul.1 as u128;
let delta = pow5bits(i as i32) - pow5bits(base2 as i32);
debug_assert!(base < POW5_OFFSETS.len() as u32);
debug_assert!(i / 16 < POW5_OFFSETS.len() as u32);
let shifted_sum = (b0 >> delta)
+ (b2 << (64 - delta))
+ ((*POW5_OFFSETS.get_unchecked((i / 16) as usize) >> ((i % 16) << 1)) & 3) as u128;
@@ -165,7 +165,7 @@ pub unsafe fn compute_pow5(i: u32) -> (u64, u64) {
}
// high1 | sum | low0
let delta = pow5bits(i as i32) - pow5bits(base2 as i32);
debug_assert!(base < POW5_OFFSETS.len() as u32);
debug_assert!(i / 16 < POW5_OFFSETS.len() as u32);
(
shiftright128(low0, sum, delta as u32)
+ ((*POW5_OFFSETS.get_unchecked((i / 16) as usize) >> ((i % 16) << 1)) & 3) as u64,