Code style in Razoring and ProbCut
authorjoergoster <osterj165@googlemail.com>
Fri, 2 Mar 2018 10:38:11 +0000 (11:38 +0100)
committerStéphane Nicolet <cassio@free.fr>
Tue, 6 Mar 2018 00:54:36 +0000 (01:54 +0100)
No functional change.

src/search.cpp

index f7c13bb..515cc6c 100644 (file)
@@ -682,20 +682,21 @@ namespace {
         goto moves_loop;
 
     // Step 7. Razoring (skipped when in check)
-    if (   !PvNode
-        &&  depth <= ONE_PLY)
+    if (  !PvNode
+        && depth <= 2 * ONE_PLY)
     {
-        if (eval + RazorMargin1 <= alpha)
+        if (   depth == ONE_PLY
+            && eval + RazorMargin1 <= alpha)
             return qsearch<NonPV, false>(pos, ss, alpha, alpha+1);
-    }
-    else if (   !PvNode
-             &&  depth <= 2 * ONE_PLY
-             &&  eval + RazorMargin2 <= alpha)
-    {
-        Value ralpha = alpha - RazorMargin2;
-        Value v = qsearch<NonPV, false>(pos, ss, ralpha, ralpha+1);
-        if (v <= ralpha)
-            return v;
+
+        else if (eval + RazorMargin2 <= alpha)
+        {
+            Value ralpha = alpha - RazorMargin2;
+            Value v = qsearch<NonPV, false>(pos, ss, ralpha, ralpha+1);
+
+            if (v <= ralpha)
+                return v;
+        }
     }
 
     // Step 8. Futility pruning: child node (skipped when in check)
@@ -776,7 +777,7 @@ namespace {
                 // Perform a preliminary search at depth 1 to verify that the move holds.
                 // We will only do this search if the depth is not 5, thus avoiding two
                 // searches at depth 1 in a row.
-                if (depth != 5 * ONE_PLY)
+                if (depth > 5 * ONE_PLY)
                     value = -search<NonPV>(pos, ss+1, -rbeta, -rbeta+1, ONE_PLY, !cutNode, true);
 
                 // If the first search was skipped or was performed and held, perform
@@ -785,6 +786,7 @@ namespace {
                     value = -search<NonPV>(pos, ss+1, -rbeta, -rbeta+1, depth - 4 * ONE_PLY, !cutNode, false);
 
                 pos.undo_move(move);
+
                 if (value >= rbeta)
                     return value;
             }