- 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);
-
- template <bool Fake>
- Value split(Position& pos, Search::Stack* ss, Value alpha, Value beta, Value bestValue, Move* bestMove,
- Depth depth, Move threatMove, int moveCount, MovePicker* mp, int nodeType);
-private:
- friend struct Thread;
-
- Thread* timer;
- Thread* threads[MAX_THREADS];
- Lock splitLock;
- WaitCondition sleepCond;
+ Thread* available_slave(const SplitPoint* sp) const;
+ void start_thinking(const Position&, const Search::LimitsType&, Search::StateStackPtr&);
+