X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftimeman.cpp;h=051d9726aa9ae29cb6398d00d79db23b090653bc;hp=0348b677f4597ef5aaf3075b604e8f50e16a1e71;hb=be641e881fdfdf3354453381f832fe7822e7c731;hpb=8454d871ec105749fb5e2e7e9aea9e7c25cfdf6e diff --git a/src/timeman.cpp b/src/timeman.cpp index 0348b677..051d9726 100644 --- a/src/timeman.cpp +++ b/src/timeman.cpp @@ -60,13 +60,13 @@ namespace { void TimeManager::pv_instability(double bestMoveChanges) { - unstablePVExtraTime = int(bestMoveChanges * optimumSearchTime / 1.4); + unstablePvFactor = 1 + bestMoveChanges; } void TimeManager::init(const Search::LimitsType& limits, int currentPly, Color us) { - /* We support four different kind of time controls: + /* We support four different kinds of time controls: increment == 0 && movesToGo == 0 means: x basetime [sudden death!] increment == 0 && movesToGo != 0 means: x moves in y minutes @@ -90,9 +90,9 @@ void TimeManager::init(const Search::LimitsType& limits, int currentPly, Color u int minThinkingTime = Options["Minimum Thinking Time"]; int slowMover = Options["Slow Mover"]; - // Initialize all to maximum values but unstablePVExtraTime that is reset - unstablePVExtraTime = 0; - optimumSearchTime = maximumSearchTime = limits.time[us]; + // Initialize unstablePvFactor to 1 and search times to maximum values + unstablePvFactor = 1; + optimumSearchTime = maximumSearchTime = std::max(limits.time[us], minThinkingTime); // We calculate optimum time usage for different hypothetical "moves to go"-values and choose the // minimum of calculated search time values. Usually the greatest hypMTG gives the minimum values.