From bf6b647a1afd0bfa25ee627622824a3ecb666c5d Mon Sep 17 00:00:00 2001 From: 31m059 <37052095+31m059@users.noreply.github.com> Date: Fri, 17 May 2019 07:38:23 -0400 Subject: [PATCH] Allow RQ through pieces. Bench: 3415326 (#2153) We evaluate defended and unsafe squares for a passed pawn push based on friendly and enemy rooks and queens on the passed pawn's file. Prior to this patch, we further required that these rooks and queens be able to directly attack the passed pawn. However, this restriction appears unnecessary and worth almost exactly 0 Elo at LTC. The simplified code allows rooks and queens to attack/defend the passed pawn through other pieces of either color. STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 29019 W: 6488 L: 6381 D: 16150 http://tests.stockfishchess.org/tests/view/5cdcf7270ebc5925cf05d30c LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 54224 W: 9200 L: 9133 D: 35891 http://tests.stockfishchess.org/tests/view/5cddc6210ebc5925cf05eca3 Bench: 3415326 --- src/evaluate.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index d1a8ffd3..dff84df3 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -649,7 +649,7 @@ namespace { // in the pawn's path attacked or occupied by the enemy. defendedSquares = unsafeSquares = squaresToQueen = forward_file_bb(Us, s); - bb = forward_file_bb(Them, s) & pos.pieces(ROOK, QUEEN) & pos.attacks_from(s); + bb = forward_file_bb(Them, s) & pos.pieces(ROOK, QUEEN); if (!(pos.pieces(Us) & bb)) defendedSquares &= attackedBy[Us][ALL_PIECES]; -- 2.39.2