X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fsearch.h;h=4f98cc762fb041a0dac265a81cc9b1336b401150;hb=c4517c013cf8cf1a388c94d90727dbe08938cc5a;hp=3262c757cbe05aa4ff50e07ad3711ac3ec453aab;hpb=ed04c010eb4a569532f322f5030d468380b3ab57;p=stockfish diff --git a/src/search.h b/src/search.h index 3262c757..4f98cc76 100644 --- a/src/search.h +++ b/src/search.h @@ -46,26 +46,34 @@ struct SearchStack { int skipNullMove; }; +namespace Search { /// The SearchLimits struct stores information sent by GUI about available time /// to search the current move, maximum depth/time, if we are in analysis mode /// or if we have to ponder while is our opponent's side to move. -struct SearchLimits { +struct LimitsType { bool useTimeManagement() const { return !(maxTime | maxDepth | maxNodes | infinite); } int time, increment, movesToGo, maxTime, maxDepth, maxNodes, infinite, ponder; }; -extern SearchLimits Limits; -extern std::vector SearchMoves; +struct SignalsType { + bool stopOnPonderhit, firstRootMove, stop, failedLowAtRoot; +}; + +extern volatile SignalsType Signals; +extern LimitsType Limits; +extern std::vector RootMoves; extern Position* RootPosition; -extern void init_search(); +extern void init(); extern int64_t perft(Position& pos, Depth depth); extern void think(); -extern void uci_async_command(const std::string& cmd); + +} + extern void do_timer_event(); #endif // !defined(SEARCH_H_INCLUDED)