From fc3af7c4fbeaa3c5b85424077829223f9d18184e Mon Sep 17 00:00:00 2001 From: protonspring Date: Mon, 11 Jun 2018 10:17:03 +0200 Subject: [PATCH] Optimize an expression in endgame.cpp I believe using foward_file_bb() here is fewer instructions. a) Fewer instructions and probably more clear (debatable). b) Possible that a lookup is slower than a few local operations, but the forward_file_bb table is probably used often enough that it is always cached. Passed LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 21004 W: 4263 L: 4141 D: 12600 http://tests.stockfishchess.org/tests/view/5b1cad830ebc5902ab9c6239 Closes https://github.com/official-stockfish/Stockfish/pull/1644 No functional change. --- src/endgame.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/endgame.cpp b/src/endgame.cpp index db67ce95..3e01259c 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -214,7 +214,7 @@ Value Endgame::operator()(const Position& pos) const { Value result; // If the stronger side's king is in front of the pawn, it's a win - if (wksq < psq && file_of(wksq) == file_of(psq)) + if (forward_file_bb(WHITE, wksq) & psq) result = RookValueEg - distance(wksq, psq); // If the weaker side's king is too far from the pawn and the rook, -- 2.39.2