]> git.sesse.net Git - stockfish/blobdiff - src/movepick.h
MovePicker: take advantage of threat move for ordering
[stockfish] / src / movepick.h
index 5a38826188811eb634f053d5cd3396760325d69f..5fff409259c1cfd8d1544b277c06c85715ede770 100644 (file)
@@ -34,6 +34,9 @@
 //// Types
 ////
 
+struct EvalInfo;
+struct SearchStack;
+
 /// 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 +63,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, const SearchStack& ss, Depth d, EvalInfo* ei = NULL);
   Move get_next_move();
   Move get_next_move(Lock &lock);
   int number_of_moves() const;
@@ -77,9 +80,10 @@ private:
   void score_qcaptures();
   Move pick_move_from_list();
   int find_best_index();
+  int find_best_index(Bitboard* squares, int values[]);
 
   const Position& pos;
-  Move ttMove, mateKiller, killer1, killer2;
+  Move ttMove, mateKiller, killer1, killer2, threatMove;
   Bitboard pinned, dc;
   MoveStack moves[256], badCaptures[64];
   bool pvNode;