author lucasart Sat, 8 Nov 2014 15:56:51 +0000 (10:56 -0500) committer Gary Linscott Sat, 8 Nov 2014 15:56:51 +0000 (10:56 -0500)
* remove some erroneous comments, that were based on the ONE_PLY == 2.
* rename hd to d, because there's no more half-depth in SF.
* rescope variables into the for loops.
* reindent the for loops correctly.
* add a comment to explain the eval improving part (not so obvious to read
this code as array has 4 dimensions).

No functional change.

 src/search.cpp patch | blob | history

@@ -116,28 +116,26 @@ namespace {

void Search::init() {

-  int d;  // depth (ONE_PLY == 2)
-  int hd; // half depth (ONE_PLY == 1)
-  int mc; // moveCount
-
// Init reductions array
-  for (hd = 1; hd < 64; ++hd) for (mc = 1; mc < 64; ++mc)
-  {
-      double    pvRed = 0.00 + log(double(hd)) * log(double(mc)) / 3.00;
-      double nonPVRed = 0.33 + log(double(hd)) * log(double(mc)) / 2.25;
+  for (int d = 1; d < 64; ++d)
+      for (int mc = 1; mc < 64; ++mc)
+      {
+          double    pvRed = 0.00 + log(double(d)) * log(double(mc)) / 3.00;
+          double nonPVRed = 0.33 + log(double(d)) * log(double(mc)) / 2.25;

-      Reductions[hd][mc] = int8_t(   pvRed >= 1.0 ?    pvRed + 0.5: 0);
-      Reductions[hd][mc] = int8_t(nonPVRed >= 1.0 ? nonPVRed + 0.5: 0);
+          Reductions[d][mc] = int8_t(   pvRed >= 1.0 ?    pvRed + 0.5: 0);
+          Reductions[d][mc] = int8_t(nonPVRed >= 1.0 ? nonPVRed + 0.5: 0);

-      Reductions[hd][mc] = Reductions[hd][mc];
-      Reductions[hd][mc] = Reductions[hd][mc];
+          Reductions[d][mc] = Reductions[d][mc];
+          Reductions[d][mc] = Reductions[d][mc];

-      if (Reductions[hd][mc] >= 2)
-          Reductions[hd][mc] += 1;
-  }
+          // Increase reduction when eval is not improving
+          if (Reductions[d][mc] >= 2)
+              Reductions[d][mc] += 1;
+      }

// Init futility move count array
-  for (d = 0; d < 32; ++d)
+  for (int d = 0; d < 32; ++d)
{
FutilityMoveCounts[d] = int(2.4 + 0.773 * pow(d + 0.00, 1.8));
FutilityMoveCounts[d] = int(2.9 + 1.045 * pow(d + 0.49, 1.8));