From 89e6a95ded4bb231154cde128b6ef2ce8ae359c8 Mon Sep 17 00:00:00 2001 From: Paul-Nicolas Madelaine Date: Sun, 19 Oct 2025 15:18:30 +0200 Subject: [PATCH] more public methods --- src/board.rs | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/board.rs b/src/board.rs index 8367fe2..8e12050 100644 --- a/src/board.rs +++ b/src/board.rs @@ -127,27 +127,27 @@ impl File { } #[inline] - pub fn from_char(c: char) -> Option { - Self::from_ascii(c as u8) + pub fn from_char(file: char) -> Option { + Self::from_ascii(file as u8) } #[inline] - pub(crate) fn to_ascii(self) -> u8 { + pub fn to_ascii(self) -> u8 { self as u8 + b'a' } #[inline] - pub(crate) fn from_ascii(c: u8) -> Option { - (c <= b'h') + pub fn from_ascii(file: u8) -> Option { + (file <= b'h') .then(|| { - c.checked_sub(b'a') + file.checked_sub(b'a') .map(|i| unsafe { Self::new_unchecked(i) }) }) .flatten() } #[inline] - pub(crate) fn bitboard(self) -> Bitboard { + pub fn bitboard(self) -> Bitboard { Bitboard(0x0101010101010101 << (self as u8)) } } @@ -207,8 +207,23 @@ impl Rank { } #[inline] - pub fn from_char(c: char) -> Option { - Self::from_ascii(c as u8) + pub fn from_char(rank: char) -> Option { + Self::from_ascii(rank as u8) + } + + #[inline] + pub fn to_ascii(self) -> u8 { + self as u8 + b'1' + } + + #[inline] + pub fn from_ascii(rank: u8) -> Option { + (rank <= b'8') + .then(|| { + rank.checked_sub(b'1') + .map(|i| unsafe { Self::new_unchecked(i) }) + }) + .flatten() } #[inline] @@ -217,22 +232,7 @@ impl Rank { } #[inline] - pub(crate) fn to_ascii(self) -> u8 { - self as u8 + b'1' - } - - #[inline] - pub(crate) fn from_ascii(c: u8) -> Option { - (c <= b'8') - .then(|| { - c.checked_sub(b'1') - .map(|i| unsafe { Self::new_unchecked(i) }) - }) - .flatten() - } - - #[inline] - pub(crate) fn bitboard(self) -> Bitboard { + pub fn bitboard(self) -> Bitboard { Bitboard(0xFF << ((self as u8) << 3)) } }