]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Add some commentary
[stockfish] / src / search.cpp
index 1bf56c8ea59a4ea8190f3e58b182c1ace6610a9e..2351dd17fbb87043fdd88b1888ea7fba3ad11d16 100644 (file)
@@ -162,7 +162,10 @@ namespace {
 
   // Step 6. Razoring
 
+  // Maximum depth for razoring
   const Depth RazorDepth = 4 * OnePly;
+
+  // Dynamic razoring margin based on depth
   inline Value razor_margin(Depth d) { return Value(0x200 + 0x10 * d); }
 
   // Step 8. Null move search with verification search
@@ -171,11 +174,12 @@ namespace {
   // evaluation of the position is more than NullMoveMargin below beta.
   const Value NullMoveMargin = Value(0x200);
 
-  // Depth limit for use of dynamic threat detection when null move fails low
+  // Maximum depth for use of dynamic threat detection when null move fails low
   const Depth ThreatDepth = 5 * OnePly;
 
   // Step 9. Internal iterative deepening
 
+  // Minimum depth for use of internal iterative deepening
   const Depth IIDDepthAtPVNodes = 5 * OnePly;
   const Depth IIDDepthAtNonPVNodes = 8 * OnePly;
 
@@ -191,6 +195,7 @@ namespace {
   Depth CheckExtension[2], SingleEvasionExtension[2], PawnPushTo7thExtension[2];
   Depth PassedPawnExtension[2], PawnEndgameExtension[2], MateThreatExtension[2];
 
+  // Minimum depth for use of singular extension
   const Depth SingularExtensionDepthAtPVNodes = 6 * OnePly;
   const Depth SingularExtensionDepthAtNonPVNodes = 8 * OnePly;
 
@@ -200,6 +205,7 @@ namespace {
 
   // Step 12. Futility pruning
 
+  // Futility margin for quiescence search
   const Value FutilityMarginQS = Value(0x80);
 
   // Futility lookup tables (initialized at startup) and their getter functions
@@ -218,7 +224,7 @@ namespace {
   inline Depth    pv_reduction(Depth d, int mn) { return (Depth)    PVReductionMatrix[Min(d / 2, 63)][Min(mn, 63)]; }
   inline Depth nonpv_reduction(Depth d, int mn) { return (Depth) NonPVReductionMatrix[Min(d / 2, 63)][Min(mn, 63)]; }
 
-
+  // Step. Common adjustments
 
   // Search depth at iteration 1
   const Depth InitialDepth = OnePly;
@@ -227,14 +233,15 @@ namespace {
   // better than the second best move.
   const Value EasyMoveMargin = Value(0x200);
 
-  /// Variables initialized by UCI options
-
   // Last seconds noise filtering (LSN)
   const bool UseLSNFiltering = true;
   const int LSNTime = 4000; // In milliseconds
   const Value LSNValue = value_from_centipawns(200);
   bool loseOnTime = false;
 
+
+  /// Global variables
+
   // Iteration counters
   int Iteration;