X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovepick.h;h=af34711df40e15e6892b748ff9e1cf9409d91c08;hp=17f29daa93e353c83d955304e14388f43237eb64;hb=ad1bb084ddde99261bcc20261a5ccee3bfb2abc7;hpb=310e07f29266f800ff9d9f24cb3f953d945fd32b diff --git a/src/movepick.h b/src/movepick.h index 17f29daa..af34711d 100644 --- a/src/movepick.h +++ b/src/movepick.h @@ -59,13 +59,13 @@ public: PH_STOP }; - MovePicker(Position &p, bool pvnode, Move ttm, Move mk, Move k1, Move k2, - Depth dpth); - Move get_next_move(MovegenPhase* moveType = NULL); + MovePicker(const Position& p, bool pvnode, Move ttm, Move mk, Move k1, Move k2, Depth d); + Move get_next_move(); Move get_next_move(Lock &lock); int number_of_moves() const; int current_move_score() const; - Bitboard discovered_check_candidates(); + MovegenPhase current_move_type() const; + Bitboard discovered_check_candidates() const; static void init_phase_table(); @@ -75,8 +75,9 @@ private: void score_evasions(); void score_qcaptures(); Move pick_move_from_list(); + int find_best_index(); - Position *pos; + const Position& pos; Move ttMove, mateKiller, killer1, killer2; Bitboard pinned, dc; MoveStack moves[256], badCaptures[64]; @@ -93,11 +94,20 @@ private: //// Inline functions //// +/// MovePicker::number_of_moves() simply returns the numOfMoves member +/// variable. It is intended to be used in positions where the side to move +/// is in check, for detecting checkmates or situations where there is only +/// a single reply to check. + +inline int MovePicker::number_of_moves() const { + return numOfMoves; +} + /// MovePicker::discovered_check_candidates() returns a bitboard containing /// all pieces which can possibly give discovered check. This bitboard is /// computed by the constructor function. -inline Bitboard MovePicker::discovered_check_candidates() { +inline Bitboard MovePicker::discovered_check_candidates() const { return dc; }