new constructors
This commit is contained in:
parent
808cde1c42
commit
494de58804
6 changed files with 92 additions and 56 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,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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue