From 24af6a6bc409541a3d6e5cab7c5923ac397476fd Mon Sep 17 00:00:00 2001 From: Pieter te Brake Date: Mon, 2 Feb 2026 12:26:04 +0100 Subject: [PATCH] Update castling rights unconditionally. passed STC: LLR: 2.93 (-2.94,2.94) <-1.75,0.25> Total: 163680 W: 42214 L: 42137 D: 79329 Ptnml(0-2): 454, 18054, 44734, 18157, 441 https://tests.stockfishchess.org/tests/view/697e6f4e5f56030af97b5a3c closes https://github.com/official-stockfish/Stockfish/pull/6588 No functional change --- src/position.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index f1222a66f..218be153d 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -819,13 +819,10 @@ void Position::do_move(Move m, st->epSquare = SQ_NONE; } - // Update castling rights if needed - if (st->castlingRights && (castlingRightsMask[from] | castlingRightsMask[to])) - { - k ^= Zobrist::castling[st->castlingRights]; - st->castlingRights &= ~(castlingRightsMask[from] | castlingRightsMask[to]); - k ^= Zobrist::castling[st->castlingRights]; - } + // Update castling rights. + k ^= Zobrist::castling[st->castlingRights]; + st->castlingRights &= ~(castlingRightsMask[from] | castlingRightsMask[to]); + k ^= Zobrist::castling[st->castlingRights]; // Move the piece. The tricky Chess960 castling is handled earlier if (m.type_of() != CASTLING)