X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovepick.h;h=e8a32c9316cd3e836e6777f4588cf1e65f185ac7;hp=5a38826188811eb634f053d5cd3396760325d69f;hb=20d7197a9be9c03f153c7ceac73857da8416bba4;hpb=74fd57220e4e5a214761adc2d12335a12bef56f3 diff --git a/src/movepick.h b/src/movepick.h index 5a388261..e8a32c93 100644 --- a/src/movepick.h +++ b/src/movepick.h @@ -34,6 +34,8 @@ //// Types //// +struct EvalInfo; + /// MovePicker is a class which is used to pick one legal move at a time from /// the current position. It is initialized with a Position object and a few /// moves we have reason to believe are good. The most important method is @@ -60,7 +62,7 @@ public: PH_STOP }; - MovePicker(const Position& p, bool pvnode, Move ttm, Move mk, Move k1, Move k2, Depth d); + MovePicker(const Position& p, bool pvnode, Move ttm, Move mk, Move k1, Move k2, Depth d, EvalInfo* ei = NULL); Move get_next_move(); Move get_next_move(Lock &lock); int number_of_moves() const; @@ -77,11 +79,14 @@ private: void score_qcaptures(); Move pick_move_from_list(); int find_best_index(); + int MovePicker::find_best_index(Bitboard* squares, int values[]); const Position& pos; Move ttMove, mateKiller, killer1, killer2; Bitboard pinned, dc; MoveStack moves[256], badCaptures[64]; + Bitboard capSquares; + int capSqValues[64]; bool pvNode; Depth depth; int phaseIndex;