Skip early pruning in case of mandatory captures
authorianfab <ianfab@users.noreply.github.com>
Sat, 28 Jul 2018 13:51:02 +0000 (15:51 +0200)
committerianfab <ianfab@users.noreply.github.com>
Mon, 30 Jul 2018 17:28:32 +0000 (19:28 +0200)
giveaway STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 86 W: 83 L: 1 D: 2

losers STC
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 96 W: 89 L: 3 D: 4

src/search.cpp

index 8c0a1ef..0820a47 100644 (file)
@@ -734,6 +734,10 @@ namespace {
     improving =   ss->staticEval >= (ss-2)->staticEval
                || (ss-2)->staticEval == VALUE_NONE;
 
+    // Skip early pruning in case of mandatory capture
+    if (pos.must_capture() && MoveList<CAPTURES>(pos).size())
+        goto moves_loop;
+
     // Step 8. Futility pruning: child node (~30 Elo)
     if (   !rootNode
         &&  depth < 7 * ONE_PLY