[board] Implement BitBoard::shift_south

This commit is contained in:
Eryn Wells 2023-12-28 12:10:39 -07:00
parent 5039d657ae
commit 5a08a4477e

View file

@ -67,6 +67,11 @@ impl BitBoard {
BitBoard(self.0 >> 7 & BitBoard::NOT_A_FILE)
}
#[inline]
pub fn shift_south(&self, n: u8) -> BitBoard {
BitBoard(self.0 >> (8 * n))
}
#[inline]
pub fn shift_south_one(&self) -> BitBoard {
BitBoard(self.0 >> 8)
@ -237,6 +242,11 @@ mod tests {
BitBoard(0x0008_0000_0000).shift_north(2),
BitBoard(0x0008_0000_0000_0000)
);
assert_eq!(
BitBoard(0x0008_0000_0000).shift_south(2),
BitBoard(0x0008_0000)
);
}
#[test]