X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftimeman.cpp;h=46ef75f4221335de0b7d2e0ebd9c66c651ec3f24;hp=04730abcc4a0f68eebb078a6044b1316eaae8d2b;hb=5d1b92e8f9836e1d403bcf60653dcf6b059c8720;hpb=6661a3154152ab448b1dc11d882586976f616f92 diff --git a/src/timeman.cpp b/src/timeman.cpp index 04730abc..46ef75f4 100644 --- a/src/timeman.cpp +++ b/src/timeman.cpp @@ -78,15 +78,15 @@ namespace { /// inc > 0 && movestogo == 0 means: x basetime + z increment /// inc > 0 && movestogo != 0 means: x moves in y minutes + z increment -void TimeManager::init(const Search::LimitsType& limits, Color us, int ply) +void TimeManager::init(const Search::LimitsType& limits, Color us, int ply, TimePoint now) { int minThinkingTime = Options["Minimum Thinking Time"]; int moveOverhead = Options["Move Overhead"]; int slowMover = Options["Slow Mover"]; - // Initialize unstablePvFactor to 1 and search times to maximum values + start = now; unstablePvFactor = 1; - optimumSearchTime = maximumSearchTime = std::max(limits.time[us], minThinkingTime); + optimumTime = maximumTime = std::max(limits.time[us], minThinkingTime); const int MaxMTG = limits.movestogo ? std::min(limits.movestogo, MoveHorizon) : MoveHorizon; @@ -105,12 +105,12 @@ void TimeManager::init(const Search::LimitsType& limits, Color us, int ply) int t1 = minThinkingTime + remaining(hypMyTime, hypMTG, ply, slowMover); int t2 = minThinkingTime + remaining(hypMyTime, hypMTG, ply, slowMover); - optimumSearchTime = std::min(t1, optimumSearchTime); - maximumSearchTime = std::min(t2, maximumSearchTime); + optimumTime = std::min(t1, optimumTime); + maximumTime = std::min(t2, maximumTime); } if (Options["Ponder"]) - optimumSearchTime += optimumSearchTime / 4; + optimumTime += optimumTime / 4; - optimumSearchTime = std::min(optimumSearchTime, maximumSearchTime); + optimumTime = std::min(optimumTime, maximumTime); }