MovePicker* mp;
SplitPoint* parent;
-
// Shared data
Lock lock;
volatile uint64_t slavesMask;
void wait_for_stop_or_ponderhit();
SplitPoint splitPoints[MAX_SPLITPOINTS_PER_THREAD];
- MaterialInfoTable materialTable;
- PawnInfoTable pawnTable;
+ MaterialTable materialTable;
+ PawnTable pawnTable;
int threadID;
int maxPly;
Lock sleepLock;
static storage duration are automatically set to zero before enter main()
*/
public:
- void init(); // No c'tor becuase Threads is static and we need stuff initialized
+ void init(); // No c'tor becuase Threads is static and we need engine initialized
~ThreadsManager();
Thread& operator[](int id) { return *threads[id]; }
void read_uci_options();
bool available_slave_exists(int master) const;
void set_timer(int msec);
- void stop_thinking();
- void start_thinking(const Position& pos, const Search::LimitsType& limits,
- const std::set<Move>& = std::set<Move>(), bool async = false);
+ void wait_for_search_finished();
+ void start_searching(const Position& pos, const Search::LimitsType& limits,
+ const std::set<Move>& = std::set<Move>());
template <bool Fake>
Value split(Position& pos, Search::Stack* ss, Value alpha, Value beta, Value bestValue, Move* bestMove,