From 41f3b02ffa78e811b88050d08e09edc9a256f85a Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 20 Mar 2025 19:51:50 -0700 Subject: [PATCH] refinements --- rust/pspp/src/format/mod.rs | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/rust/pspp/src/format/mod.rs b/rust/pspp/src/format/mod.rs index f53f9d4bca..eda3620987 100644 --- a/rust/pspp/src/format/mod.rs +++ b/rust/pspp/src/format/mod.rs @@ -1352,24 +1352,11 @@ impl<'a> DisplayValue<'a> { static ZEROS: &str = "0000000000000000000000000000000000000000"; &ZEROS[..n] } - fn is_all_zeros(s: &[u8]) -> bool { - s.iter().all(|b| *b == b'0') - } if exponent >= 0 && exponent < digits.len() as i32 { // The first `exponent` digits are before the decimal point. We // need to round off there. let exp = exponent as usize; - let should_round_up = match digits[exp] { - /* - b'5' if is_all_zeros(&digits[exp + 1..]) => { - let prev_digit = if exp > 0 { digits[exp - 1] - b'0' } else { 0 }; - (prev_digit % 2) == 1 - }*/ - b'0'..=b'4' => false, - b'5'..=b'9' => true, - _ => unreachable!(), - }; fn round_up(digits: &mut [u8], position: usize) -> bool { for index in (0..position).rev() { @@ -1387,7 +1374,7 @@ impl<'a> DisplayValue<'a> { false } - if should_round_up && !round_up(digits, exp) { + if digits[exp] >= b'5' && !round_up(digits, exp) { s[0] = b'1'; digits = &mut s[..e_index]; exponent += 1; -- 2.30.2