X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=ef83f4598da967c20b49d304df451d92db02c583;hp=28fecf87c979cf26312c3c9ced4e277ee93a7129;hb=f133f61e3fb5a777857f51d995e9bb3d263cf404;hpb=e6a8d03dd87573d71fb3c3d72f6ef07af6bf0d68 diff --git a/src/search.cpp b/src/search.cpp index 28fecf87..ef83f459 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -52,9 +52,6 @@ using namespace Search; namespace { - // Set to true to force running with one thread. Used for debugging - const bool FakeSplit = false; - // Different node types, used as template parameter enum NodeType { Root, PV, NonPV }; @@ -398,7 +395,7 @@ namespace { if (Limits.use_time_management() && !Signals.stop && !Signals.stopOnPonderhit) { // Take some extra time if the best move has changed - if (depth > 4 && depth < 50 && MultiPV == 1) + if (depth > 4 && MultiPV == 1) TimeMgr.pv_instability(BestMoveChanges); // Stop the search if only one legal move is available or all @@ -700,7 +697,8 @@ moves_loop: // When in check and at SpNode search starts from here && depth >= 8 * ONE_PLY && abs(beta) < VALUE_KNOWN_WIN && ttMove != MOVE_NONE - && ttValue != VALUE_NONE + /* && ttValue != VALUE_NONE Already implicit in the next condition */ + && abs(ttValue) < VALUE_KNOWN_WIN && !excludedMove // Recursive singular search is not allowed && (tte->bound() & BOUND_LOWER) && tte->depth() >= depth - 3 * ONE_PLY; @@ -986,8 +984,8 @@ moves_loop: // When in check and at SpNode search starts from here { assert(bestValue > -VALUE_INFINITE && bestValue < beta); - thisThread->split(pos, ss, alpha, beta, &bestValue, &bestMove, - depth, moveCount, &mp, NT, cutNode); + thisThread->split(pos, ss, alpha, beta, &bestValue, &bestMove, + depth, moveCount, &mp, NT, cutNode); if (Signals.stop || thisThread->cutoff_occurred()) return VALUE_ZERO;