// Time managment variables
int SearchStartTime;
int MaxNodes, MaxDepth;
- int MaxSearchTime, AbsoluteMaxSearchTime, ExtraSearchTime, TimeAdvantage;
+ int MaxSearchTime, AbsoluteMaxSearchTime, ExtraSearchTime;
Move BestRootMove, PonderMove, EasyMove;
int RootMoveNumber;
bool InfiniteSearch;
int myIncrement = increment[side_to_move];
int oppTime = time[1 - side_to_move];
- TimeAdvantage = myTime - oppTime;
-
if (!movesToGo) // Sudden death time control
{
if (myIncrement)
MaxSearchTime = myTime / 30 + myIncrement;
AbsoluteMaxSearchTime = Max(myTime / 4, myIncrement - 100);
} else { // Blitz game without increment
- MaxSearchTime = myTime / 40;
+ MaxSearchTime = myTime / 30;
AbsoluteMaxSearchTime = myTime / 8;
}
}
ExtraSearchTime = BestMoveChangesByIteration[Iteration] * (MaxSearchTime / 2)
+ BestMoveChangesByIteration[Iteration-1] * (MaxSearchTime / 3);
- // If we need some more and we are in time advantage take it
- if (ExtraSearchTime > 0 && TimeAdvantage > 2 * MaxSearchTime)
- ExtraSearchTime += MaxSearchTime / 2;
-
// Try to guess if the current iteration is the last one or the last two
LastIterations = (current_search_time() > ((MaxSearchTime + ExtraSearchTime)*58) / 128);