Passed both short TC:
LLR: 2.97 (-2.94,2.94) [-1.50,4.50]
Total: 18907 W: 3475 L: 3322 D: 12110
And long TC:
LLR: 2.96 (-2.94,2.94) [0.00,6.00]
Total: 19044 W: 2997 L: 2811 D: 13236
bench:
8430785
std::vector<RootMove> RootMoves;
Position RootPos;
Color RootColor;
std::vector<RootMove> RootMoves;
Position RootPos;
Color RootColor;
- Time::point SearchTime, IterationTime;
+ Time::point SearchTime;
StateStackPtr SetupStates;
}
StateStackPtr SetupStates;
}
sync_cout << uci_pv(pos, depth, alpha, beta) << sync_endl;
}
sync_cout << uci_pv(pos, depth, alpha, beta) << sync_endl;
}
- IterationTime = Time::now() - SearchTime;
+ Time::point iterationTime = Time::now() - SearchTime;
// If skill levels are enabled and time is up, pick a sub-optimal best move
if (skill.enabled() && skill.time_to_pick(depth))
// If skill levels are enabled and time is up, pick a sub-optimal best move
if (skill.enabled() && skill.time_to_pick(depth))
// Stop the search if only one legal move is available or all
// of the available time has been used.
if ( RootMoves.size() == 1
// Stop the search if only one legal move is available or all
// of the available time has been used.
if ( RootMoves.size() == 1
- || IterationTime > TimeMgr.available_time() )
+ || iterationTime > TimeMgr.available_time() )
Time::point elapsed = Time::now() - SearchTime;
bool stillAtFirstMove = Signals.firstRootMove
&& !Signals.failedLowAtRoot
Time::point elapsed = Time::now() - SearchTime;
bool stillAtFirstMove = Signals.firstRootMove
&& !Signals.failedLowAtRoot
- && elapsed > TimeMgr.available_time()
- && elapsed > IterationTime * 1.4;
+ && elapsed > TimeMgr.available_time() * 75 / 100;
bool noMoreTime = elapsed > TimeMgr.maximum_time() - 2 * TimerThread::Resolution
|| stillAtFirstMove;
bool noMoreTime = elapsed > TimeMgr.maximum_time() - 2 * TimerThread::Resolution
|| stillAtFirstMove;
extern std::vector<RootMove> RootMoves;
extern Position RootPos;
extern Color RootColor;
extern std::vector<RootMove> RootMoves;
extern Position RootPos;
extern Color RootColor;
-extern Time::point SearchTime, IterationTime;
+extern Time::point SearchTime;
extern StateStackPtr SetupStates;
extern void init();
extern StateStackPtr SetupStates;
extern void init();
public:
void init(const Search::LimitsType& limits, int currentPly, Color us);
void pv_instability(double bestMoveChanges);
public:
void init(const Search::LimitsType& limits, int currentPly, Color us);
void pv_instability(double bestMoveChanges);
- int available_time() const { return int(optimumSearchTime * unstablePvFactor * 0.62); }
+ int available_time() const { return int(optimumSearchTime * unstablePvFactor * 0.71); }
int maximum_time() const { return maximumSearchTime; }
private:
int maximum_time() const { return maximumSearchTime; }
private: