int MaxSearchTime, AbsoluteMaxSearchTime, ExtraSearchTime, ExactMaxTime;
bool UseTimeManagement, InfiniteSearch, PonderSearch, StopOnPonderhit;
bool AbortSearch, Quit;
- bool FailLow;
+ bool AspirationFailLow;
// Show current line?
bool ShowCurrentLine;
// Initialize global search variables
Idle = StopOnPonderhit = AbortSearch = Quit = false;
- FailLow = false;
+ AspirationFailLow = false;
NodesSincePoll = 0;
SearchStartTime = get_system_time();
ExactMaxTime = maxTime;
assert(alpha >= oldAlpha);
- FailLow = (alpha == oldAlpha);
+ AspirationFailLow = (alpha == oldAlpha);
- if (FailLow && StopOnPonderhit)
+ if (AspirationFailLow && StopOnPonderhit)
StopOnPonderhit = false;
}
return;
bool stillAtFirstMove = RootMoveNumber == 1
- && !FailLow
+ && !AspirationFailLow
&& t > MaxSearchTime + ExtraSearchTime;
bool noMoreTime = t > AbsoluteMaxSearchTime
PonderSearch = false;
bool stillAtFirstMove = RootMoveNumber == 1
- && !FailLow
+ && !AspirationFailLow
&& t > MaxSearchTime + ExtraSearchTime;
bool noMoreTime = t > AbsoluteMaxSearchTime
for (int i = 0; i < ActiveThreads; i++)
if (i == master || splitPoint->slaves[i])
{
- memcpy(splitPoint->sstack[i] + ply - 1, sstck + ply - 1, 3 * sizeof(SearchStack));
+ memcpy(splitPoint->sstack[i] + ply - 1, sstck + ply - 1, 4 * sizeof(SearchStack));
Threads[i].workIsWaiting = true; // This makes the slave to exit from idle_loop()
}