From e8284711977212be67188dbf7064971bb3f15d6c Mon Sep 17 00:00:00 2001 From: Michael Whiteley Date: Wed, 27 May 2026 08:42:43 -0600 Subject: [PATCH] simplify make_move bench 2756239 --- src/board/makemove.rs | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/src/board/makemove.rs b/src/board/makemove.rs index 2dabb1c4c..6079409b2 100644 --- a/src/board/makemove.rs +++ b/src/board/makemove.rs @@ -84,38 +84,33 @@ impl Board { self.remove_piece(from); self.add_piece(piece, to); observer.on_piece_move(self, piece, from, to); - } - self.update_hash(piece, from); - self.update_hash(piece, to); - - match mv.kind() { - MoveKind::DoublePush => { - self.state.en_passant = to ^ 8; - self.state.keys.toggle_en_passant(self.en_passant()); - } - MoveKind::EnPassant => { + if mv.is_en_passant() { let captured = self.remove_piece(to ^ 8); observer.on_piece_change(self, captured, to ^ 8, false); - self.update_hash(captured, to ^ 8); - self.state.material -= captured.value(); self.state.captured = Some(captured); + } else if mv.is_double_push() { + self.state.en_passant = to ^ 8; + self.state.keys.toggle_en_passant(self.en_passant()); } - _ if mv.is_promotion() => { - let promotion = Piece::new(stm, mv.promo_piece_type()); + } - self.remove_piece(to); - self.add_piece(promotion, to); - observer.on_piece_mutate(self, piece, promotion, to); + self.update_hash(piece, from); + self.update_hash(piece, to); - self.update_hash(piece, to); - self.update_hash(promotion, to); + if mv.is_promotion() { + let promotion = Piece::new(stm, mv.promo_piece_type()); - self.state.material += promotion.value() - PieceType::Pawn.value(); - } - _ => (), + self.remove_piece(to); + self.add_piece(promotion, to); + observer.on_piece_mutate(self, piece, promotion, to); + + self.update_hash(piece, to); + self.update_hash(promotion, to); + + self.state.material += promotion.value() - PieceType::Pawn.value(); } self.advance_fullmove_counter();