From 51bc9e5ee81dda1f8668ca24560e6f9a04e194f0 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sat, 12 Apr 2025 10:21:27 +0100 Subject: [PATCH] Aha, a mistake in the simplest part, of course --- src/finitenimber.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/finitenimber.rs b/src/finitenimber.rs index 6440d42..84bbb4c 100644 --- a/src/finitenimber.rs +++ b/src/finitenimber.rs @@ -109,7 +109,7 @@ impl<'a> FiniteNimberRef<'a> { fn usize_level(w: usize) -> usize { let log_w: u32 = (usize::BITS - 1) - w.leading_zeros(); - u32::BITS.saturating_sub(log_w.leading_zeros()) as usize + log_w as usize } match self { @@ -543,6 +543,18 @@ mod tests { FiniteNimber::from(vec![0x55, 1, 1, 1]).to_ref().level(), 8 ); + assert_eq!( + FiniteNimber::from(vec![0x55, 1, 1, 1, 1]).to_ref().level(), + 9 + ); + assert_eq!( + FiniteNimber::from(vec![1, 1, 1, 1, 1, 1, 1, 1]).to_ref().level(), + 9 + ); + assert_eq!( + FiniteNimber::from(vec![1, 1, 1, 1, 1, 1, 1, 1, 1]).to_ref().level(), + 10 + ); } #[test] -- 2.30.2