Depth reduction;
Value staticEval;
bool skipEarlyPruning;
+ int moveCount;
};
/// RootMove struct is used for moves at the root of the tree. For each root move
std::vector<Move> searchmoves;
int time[COLOR_NB], inc[COLOR_NB], npmsec, movestogo, depth, movetime, mate, infinite, ponder;
int64_t nodes;
+ TimePoint startTime;
};
/// The SignalsType struct stores volatile flags updated during the search
extern volatile SignalsType Signals;
extern LimitsType Limits;
-extern RootMoveVector RootMoves;
-extern Position RootPos;
extern StateStackPtr SetupStates;
void init();
-void think();
+void reset();
template<bool Root> uint64_t perft(Position& pos, Depth depth);
} // namespace Search