1
0
Fork 0

new constructors

This commit is contained in:
Paul-Nicolas Madelaine 2025-10-19 14:28:36 +02:00
parent 808cde1c42
commit 494de58804
6 changed files with 92 additions and 56 deletions

View file

@ -22,7 +22,7 @@ impl Bitboard {
let mask = self.0;
match mask {
0 => None,
_ => Some(unsafe { Square::transmute(mask.trailing_zeros() as u8) }),
_ => Some(unsafe { Square::new_unchecked(mask.trailing_zeros() as u8) }),
}
}
@ -31,7 +31,7 @@ impl Bitboard {
let Self(ref mut mask) = self;
let square = match mask {
0 => None,
_ => Some(unsafe { Square::transmute(mask.trailing_zeros() as u8) }),
_ => Some(unsafe { Square::new_unchecked(mask.trailing_zeros() as u8) }),
};
*mask &= mask.wrapping_sub(1);
square
@ -134,7 +134,7 @@ impl Iterator for Bitboard {
{
let mut mask = self.0;
while mask != 0 {
f(unsafe { Square::transmute(mask.trailing_zeros() as u8) });
f(unsafe { Square::new_unchecked(mask.trailing_zeros() as u8) });
mask &= mask.wrapping_sub(1);
}
}
@ -148,7 +148,7 @@ impl Iterator for Bitboard {
let mut acc = init;
while mask != 0 {
acc = f(acc, unsafe {
Square::transmute(mask.trailing_zeros() as u8)
Square::new_unchecked(mask.trailing_zeros() as u8)
});
mask &= mask.wrapping_sub(1);
}