mirror of
https://github.com/openharmony/third_party_rust_ryu.git
synced 2026-07-18 17:14:35 -04:00
Fix debug_asserts that are not strict enough
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user