From 626dc8a03b7f18943d4fa7e14b0fad99c29841ef Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Thu, 1 May 2014 07:44:32 +0200 Subject: [PATCH] Remove dead code in search We can never have bestValue == -VALUE_INFINITE at the end of move loop because if no legal move exists we detect it with previous condition on !moveCount, if a legal move exists we never prune it due to futility pruning condition: bestValue > VALUE_MATED_IN_MAX_PLY So this code never executes, as I have also verified directly. Issue reported by Joona. No functional change. --- src/search.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index 0068cbca..3d18e6d2 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1017,10 +1017,6 @@ moves_loop: // When in check and at SpNode search starts from here return excludedMove ? alpha : inCheck ? mated_in(ss->ply) : DrawValue[pos.side_to_move()]; - // If we have pruned all the moves without searching return a fail-low score - if (bestValue == -VALUE_INFINITE) - bestValue = alpha; - TT.store(posKey, value_to_tt(bestValue, ss->ply), bestValue >= beta ? BOUND_LOWER : PvNode && bestMove ? BOUND_EXACT : BOUND_UPPER, -- 2.39.2