Small tweaks to recent code changes
authorMarco Costalba <mcostalba@gmail.com>
Sat, 28 Jul 2018 08:38:36 +0000 (10:38 +0200)
committerSt├ęphane Nicolet <cassio@free.fr>
Tue, 31 Jul 2018 09:56:10 +0000 (11:56 +0200)
As a note, current 2 LMR conditions on stat score
could be simplified in a single line:

r -= ((ss->statScore >= 0) - ((ss-1)->statScore >= 0)) * ONE_PLY;

We keep them splitted in 2 "if" statements because are easier
to (immediately) read.

No functional change.

src/search.cpp

index e8824b6..b4096eb 100644 (file)
@@ -935,7 +935,7 @@ moves_loop: // When in check, search starts from here
               int lmrDepth = std::max(newDepth - reduction<PvNode>(improving, depth, moveCount), DEPTH_ZERO) / ONE_PLY;
 
               // Countermoves based pruning (~20 Elo)
-              if (   lmrDepth <= ((ss-1)->statScore > 0 ? 3 : 2)
+              if (   lmrDepth < 3 + ((ss-1)->statScore > 0)
                   && (*contHist[0])[movedPiece][to_sq(move)] < CounterMovePruneThreshold
                   && (*contHist[1])[movedPiece][to_sq(move)] < CounterMovePruneThreshold)
                   continue;