new square constructors
This commit is contained in:
parent
de321719f4
commit
ad1c4c57ad
7 changed files with 59 additions and 44 deletions
|
|
@ -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,9 +31,9 @@ impl Bitboard {
|
|||
let mask = self.0;
|
||||
match mask {
|
||||
0 => None,
|
||||
_ => {
|
||||
Some(unsafe { Square::transmute(63_u8.unchecked_sub(mask.leading_zeros() as u8)) })
|
||||
}
|
||||
_ => Some(unsafe {
|
||||
Square::new_unchecked(63_u8.unchecked_sub(mask.leading_zeros() as u8))
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +42,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
|
||||
|
|
@ -145,7 +145,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);
|
||||
}
|
||||
}
|
||||
|
|
@ -159,7 +159,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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue