MovePicker(const Position&, Move, Depth, const History&, Search::Stack*, Value);
MovePicker(const Position&, Move, Depth, const History&, Square);
MovePicker(const Position&, Move, const History&, PieceType);
- Move next_move();
+ template<bool SpNode> Move next_move();
private:
void score_captures();
void score_noncaptures();
void score_evasions();
- void next_phase();
+ void generate_next();
const Position& pos;
const History& H;
+ Search::Stack* ss;
Depth depth;
Move ttMove;
MoveStack killers[2];
Square recaptureSquare;
int captureThreshold, phase;
- MoveStack *curMove, *lastMove, *lastNonCapture, *badCaptures;
+ MoveStack *cur, *end, *endQuiets, *endBadCaptures;
MoveStack moves[MAX_MOVES];
};