From adc2f76e00b49a0c5af61fb87956bd2950b9a316 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 31 Dec 2023 09:27:16 -0800 Subject: [PATCH] [board] Change the type of BitScanner.shift form u32 to usize --- board/src/bitboard/bit_scanner.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/board/src/bitboard/bit_scanner.rs b/board/src/bitboard/bit_scanner.rs index e345591..257a13a 100644 --- a/board/src/bitboard/bit_scanner.rs +++ b/board/src/bitboard/bit_scanner.rs @@ -2,7 +2,7 @@ pub(crate) struct BitScanner { bits: u64, - shift: u32, + shift: usize, } impl BitScanner { @@ -12,22 +12,24 @@ impl BitScanner { } impl Iterator for BitScanner { - type Item = u32; + type Item = usize; fn next(&mut self) -> Option { - if self.shift == u64::BITS { + let u64bits = u64::BITS as usize; + + if self.shift == u64bits { return None; } let shifted_bits = self.bits << self.shift; - let leading_zeros = shifted_bits.leading_zeros(); + let leading_zeros = shifted_bits.leading_zeros() as usize; - if leading_zeros == u64::BITS { + if leading_zeros == u64bits { self.shift = leading_zeros; return None; } - let position = u64::BITS - (self.shift + leading_zeros + 1); + let position = u64bits - (self.shift + leading_zeros + 1); // Shift 1 additional place to account for the 1 that `leading_zeros` found. self.shift += leading_zeros + 1;