]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Retire approximateEval field from SplitPoint
[stockfish] / src / search.cpp
index 21cfbccac18b7120622537f54ad09fe0dcae90bd..e784045f37367235cb19498d9a33bb18a6cfd7a6 100644 (file)
@@ -201,7 +201,7 @@ namespace {
   Depth ThreatDepth; // heavy SMP read access
 
   // Last seconds noise filtering (LSN)
-  const bool UseLSNFiltering = false;
+  const bool UseLSNFiltering = true;
   const int LSNTime = 4000; // In milliseconds
   const Value LSNValue = value_from_centipawns(200);
   bool loseOnTime = false;
@@ -310,8 +310,7 @@ namespace {
   bool idle_thread_exists(int master);
   bool split(const Position& pos, SearchStack* ss, int ply,
              Value *alpha, Value *beta, Value *bestValue,
-             const Value futilityValue, const Value approximateValue,
-             Depth depth, int *moves,
+             const Value futilityValue, Depth depth, int *moves,
              MovePicker *mp, int master, bool pvNode);
   void wake_sleeping_threads();
 
@@ -1142,9 +1141,6 @@ namespace {
         search_pv(pos, ss, alpha, beta, depth-2*OnePly, ply, threadID);
         ttMove = ss[ply].pv[ply];
         tte = TT.retrieve(pos.get_key());
-
-        // If tte->move() != MOVE_NONE then it equals ttMove
-        assert(!(tte && tte->move()) || tte->move() == ttMove);
     }
 
     // Initialize a MovePicker object for the current position, and prepare
@@ -1272,7 +1268,7 @@ namespace {
           && idle_thread_exists(threadID)
           && !AbortSearch
           && !thread_should_stop(threadID)
-          && split(pos, ss, ply, &alpha, &beta, &bestValue, VALUE_NONE, VALUE_NONE,
+          && split(pos, ss, ply, &alpha, &beta, &bestValue, VALUE_NONE,
                    depth, &moveCount, &mp, threadID, true))
           break;
     }
@@ -1576,7 +1572,7 @@ namespace {
           && idle_thread_exists(threadID)
           && !AbortSearch
           && !thread_should_stop(threadID)
-          && split(pos, ss, ply, &beta, &beta, &bestValue, futilityValue, approximateEval,
+          && split(pos, ss, ply, &beta, &beta, &bestValue, futilityValue,
                    depth, &moveCount, &mp, threadID, false))
           break;
     }
@@ -2894,8 +2890,7 @@ namespace {
 
   bool split(const Position& p, SearchStack* sstck, int ply,
              Value* alpha, Value* beta, Value* bestValue, const Value futilityValue,
-             const Value approximateEval, Depth depth, int* moves,
-             MovePicker* mp, int master, bool pvNode) {
+             Depth depth, int* moves, MovePicker* mp, int master, bool pvNode) {
 
     assert(p.is_ok());
     assert(sstck != NULL);
@@ -2934,7 +2929,6 @@ namespace {
     splitPoint->pvNode = pvNode;
     splitPoint->bestValue = *bestValue;
     splitPoint->futilityValue = futilityValue;
-    splitPoint->approximateEval = approximateEval;
     splitPoint->master = master;
     splitPoint->mp = mp;
     splitPoint->moves = *moves;