From: Marco Costalba Date: Tue, 3 Aug 2010 09:58:13 +0000 (+0200) Subject: TimeManager API rename X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=5fc98745c3b72f99337ec1bb3afff22ecd242467;hp=c295599e4ad481f677b14cb0be14174b61ebff81 TimeManager API rename We can now set member data as private because is no more directly accessed. Should be more clear now. No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index fa7052d0..e04d5489 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -472,7 +472,7 @@ bool think(const Position& pos, bool infinite, bool ponder, int time[], int incr int myTime = time[pos.side_to_move()]; int myIncrement = increment[pos.side_to_move()]; if (UseTimeManagement) - TimeMgr.update(myTime, myIncrement, movesToGo, pos.startpos_ply_counter()); + TimeMgr.init(myTime, myIncrement, movesToGo, pos.startpos_ply_counter()); // Set best NodesBetweenPolls interval to avoid lagging under // heavy time pressure. @@ -616,15 +616,15 @@ namespace { if ( Iteration >= 8 && EasyMove == pv[0] && ( ( rml.get_move_cumulative_nodes(0) > (nodes * 85) / 100 - && current_search_time() > TimeMgr.optimumSearchTime / 16) + && current_search_time() > TimeMgr.available_time() / 16) ||( rml.get_move_cumulative_nodes(0) > (nodes * 98) / 100 - && current_search_time() > TimeMgr.optimumSearchTime / 32))) + && current_search_time() > TimeMgr.available_time() / 32))) stopSearch = true; // Add some extra time if the best move has changed during the last two iterations if (Iteration > 5 && Iteration <= 50) - TimeMgr.best_move_changes(BestMoveChangesByIteration[Iteration], - BestMoveChangesByIteration[Iteration-1]); + TimeMgr.pv_unstability(BestMoveChangesByIteration[Iteration], + BestMoveChangesByIteration[Iteration-1]); // Stop search if most of MaxSearchTime is consumed at the end of the // iteration. We probably don't have enough time to search the first @@ -2137,7 +2137,7 @@ namespace { && !AspirationFailLow && t > TimeMgr.available_time(); - bool noMoreTime = t > TimeMgr.maximumSearchTime + bool noMoreTime = t > TimeMgr.maximum_time() || stillAtFirstMove; if ( (Iteration >= 3 && UseTimeManagement && noMoreTime) @@ -2160,7 +2160,7 @@ namespace { && !AspirationFailLow && t > TimeMgr.available_time(); - bool noMoreTime = t > TimeMgr.maximumSearchTime + bool noMoreTime = t > TimeMgr.maximum_time() || stillAtFirstMove; if (Iteration >= 3 && UseTimeManagement && (noMoreTime || StopOnPonderhit)) diff --git a/src/timeman.cpp b/src/timeman.cpp index 046b3aaf..64861feb 100644 --- a/src/timeman.cpp +++ b/src/timeman.cpp @@ -88,13 +88,13 @@ namespace { //// Functions //// -void TimeManager::best_move_changes(int curIter, int prevIter) { +void TimeManager::pv_unstability(int curChanges, int prevChanges) { - extraSearchTime = curIter * (optimumSearchTime / 2) - + prevIter * (optimumSearchTime / 3); + unstablePVExtraTime = curChanges * (optimumSearchTime / 2) + + prevChanges * (optimumSearchTime / 3); } -void TimeManager::update(int myTime, int myInc, int movesToGo, int currentPly) +void TimeManager::init(int myTime, int myInc, int movesToGo, int currentPly) { /* We support four different kind of time controls: @@ -119,7 +119,8 @@ void TimeManager::update(int myTime, int myInc, int movesToGo, int currentPly) int emergencyMoveTime = get_option_value_int("Emergency Move Time"); int minThinkingTime = get_option_value_int("Minimum Thinking Time"); - // Initialize variables to maximum values + // Initialize to maximum values but unstablePVExtraTime that is reset + unstablePVExtraTime = 0; optimumSearchTime = maximumSearchTime = myTime; // We calculate optimum time usage for different hypothetic "moves to go"-values and choose the diff --git a/src/timeman.h b/src/timeman.h index 09bb4af7..1c28f7db 100644 --- a/src/timeman.h +++ b/src/timeman.h @@ -28,13 +28,15 @@ class TimeManager { public: - void update(int myTime, int myInc, int movesToGo, int currentPly); - void best_move_changes(int curIter, int prevIter); - int available_time() { return optimumSearchTime + extraSearchTime; } + void init(int myTime, int myInc, int movesToGo, int currentPly); + void pv_unstability(int curChanges, int prevChanges); + int available_time() const { return optimumSearchTime + unstablePVExtraTime; } + int maximum_time() const { return maximumSearchTime; } +private: int optimumSearchTime; int maximumSearchTime; - int extraSearchTime; + int unstablePVExtraTime; }; #endif // !defined(TIMEMAN_H_INCLUDED)