X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmovepick.h;h=839d1bd2908ee54f81a9d06bf2450a52b6812a74;hb=173ecc0acf672ca83b5accda121ec5379e0023fd;hp=10f0e8ef5c66a7ee30ddba345063b332c5de40db;hpb=bbf7a94d76339837a6e8925ded1ea231d51e773d;p=stockfish diff --git a/src/movepick.h b/src/movepick.h index 10f0e8ef..839d1bd2 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; @@ -77,11 +76,10 @@ private: void score_qcaptures(); Move pick_move_from_list(); - 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 +93,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; }