From d5c0330fbe7bff2461ad8a05c959b889653740f5 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Fri, 23 May 2025 09:52:22 -0700 Subject: [PATCH] [board] Add PieceSet::find_pieces Takes a Piece and returns a BitBoard representing where pieces of that shape and color are on the board. --- board/src/piece_sets.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/board/src/piece_sets.rs b/board/src/piece_sets.rs index e974064..d3d7fde 100644 --- a/board/src/piece_sets.rs +++ b/board/src/piece_sets.rs @@ -85,6 +85,12 @@ impl PieceSet { self.mailbox.get(square) } + pub(crate) fn find_pieces(&self, piece: Piece) -> BitBoard { + let color_occupancy = self.color_occupancy[piece.color as usize]; + let shape_occupancy = self.shape_occupancy[piece.shape as usize]; + color_occupancy & shape_occupancy + } + pub(crate) fn place( &mut self, piece: Piece,