Remove a superfluous subtrahend
authorGuenther Demetz <guenther.demetz@wuerth-phoenix.com>
Mon, 4 Jun 2018 07:10:30 +0000 (09:10 +0200)
committerStéphane Nicolet <cassio@free.fr>
Tue, 5 Jun 2018 08:10:32 +0000 (10:10 +0200)
The '- 1' subtrahend was introduced for guarding against null move
search at root, which would be nonsense. But this is actually already
guaranteed by the !PvNode condition. This followed from the discussion
in pull request 1609: https://github.com/official-stockfish/Stockfish/pull/1609

No functional change

src/search.cpp

index 0574da5897274c2653f82234675a08545de9c644..93651cc047b466724bb959f1102a463f8c2257f3 100644 (file)
@@ -751,7 +751,7 @@ namespace {
         &&  ss->staticEval >= beta - 36 * depth / ONE_PLY + 225
         && !excludedMove
         &&  pos.non_pawn_material(us)
-        && (ss->ply > thisThread->nmpMinPly || us != thisThread->nmpColor))
+        && (ss->ply >= thisThread->nmpMinPly || us != thisThread->nmpColor))
     {
         assert(eval - beta >= 0);
 
@@ -780,7 +780,7 @@ namespace {
 
             // Do verification search at high depths, with null move pruning disabled
             // for us, until ply exceeds nmpMinPly.
-            thisThread->nmpMinPly = ss->ply + 3 * (depth-R) / 4 - 1;
+            thisThread->nmpMinPly = ss->ply + 3 * (depth-R) / 4;
             thisThread->nmpColor = us;
 
             Value v = search<NonPV>(pos, ss, beta-1, beta, depth-R, false);