From 5a08a4477e60d5720fb6a7e381df4ee66024b0a1 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Thu, 28 Dec 2023 12:10:39 -0700 Subject: [PATCH] [board] Implement BitBoard::shift_south --- board/src/bitboard/bitboard.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/board/src/bitboard/bitboard.rs b/board/src/bitboard/bitboard.rs index f5f0e6c..f777d64 100644 --- a/board/src/bitboard/bitboard.rs +++ b/board/src/bitboard/bitboard.rs @@ -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]