1
0
Fork 0

get rid of OptionSquare

This commit is contained in:
Paul-Nicolas Madelaine 2025-11-29 14:12:20 +01:00
parent 4c137d3c95
commit ebab07f5ae
3 changed files with 21 additions and 67 deletions

View file

@ -434,52 +434,6 @@ impl core::str::FromStr for Square {
}
}
#[rustfmt::skip]
#[allow(unused)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(u8)]
pub(crate) enum OptionSquare {
A1, B1, C1, D1, E1, F1, G1, H1,
A2, B2, C2, D2, E2, F2, G2, H2,
A3, B3, C3, D3, E3, F3, G3, H3,
A4, B4, C4, D4, E4, F4, G4, H4,
A5, B5, C5, D5, E5, F5, G5, H5,
A6, B6, C6, D6, E6, F6, G6, H6,
A7, B7, C7, D7, E7, F7, G7, H7,
A8, B8, C8, D8, E8, F8, G8, H8,
None,
}
impl OptionSquare {
#[inline]
pub(crate) fn new(square: Option<Square>) -> OptionSquare {
match square {
Some(square) => Self::from_square(square),
None => Self::None,
}
}
#[inline]
pub(crate) fn try_into_square(self) -> Option<Square> {
unsafe {
match self {
Self::None => None,
_ => Some(Square::new_unchecked(self as u8)),
}
}
}
#[inline]
pub(crate) fn from_square(square: Square) -> Self {
unsafe { core::mem::transmute(square) }
}
#[inline]
pub(crate) fn bitboard(&self) -> Bitboard {
Bitboard(1 << (*self as u8))
}
}
/// A type of piece.
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(u8)]