X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovepick.h;h=af34711df40e15e6892b748ff9e1cf9409d91c08;hp=10f0e8ef5c66a7ee30ddba345063b332c5de40db;hb=35fd5ce5bc3b2a99369e277a83b4426ab3bc5bc2;hpb=bbf7a94d76339837a6e8925ded1ea231d51e773d diff --git a/src/movepick.h b/src/movepick.h index 10f0e8ef..af34711d 100644 --- a/src/movepick.h +++ b/src/movepick.h @@ -59,8 +59,7 @@ public: PH_STOP }; - MovePicker(Position &p, bool pvnode, Move ttm, Move mk, Move k1, Move k2, - Depth dpth); + 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; @@ -76,12 +75,12 @@ 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]; - static MovegenPhase PhaseTable[32]; bool pvNode; Depth depth; int phaseIndex; @@ -95,14 +94,19 @@ 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 MovePicker::MovegenPhase MovePicker::current_move_type() const { - return PhaseTable[phaseIndex]; -} - inline Bitboard MovePicker::discovered_check_candidates() const { return dc; }