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 {
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]