]> git.sesse.net Git - stockfish/blobdiff - src/position.h
Split calculation of pinners from dc candidates
[stockfish] / src / position.h
index 676f68ef06136a9ec9ee2cecd55396cd84ea300a..4f18e67feeb37381c97534ec8abc0d7719167ebd 100644 (file)
@@ -288,6 +288,12 @@ public:
   static void init_piece_square_tables();
 
 private:
+
+  enum {
+      Pinned       = 1,
+      DcCandidates = 2
+  };
+
   // Initialization helper functions (used while setting up a position)
   void clear();
   void put_piece(Piece p, Square s);
@@ -295,7 +301,6 @@ private:
   void allow_ooo(Color c);
 
   // Helper functions for doing and undoing moves
-  void init_new_state(StateInfo& newSt);
   void do_capture_move(Move m, PieceType capture, Color them, Square to);
   void do_castle_move(Move m);
   void do_promotion_move(Move m);
@@ -304,7 +309,9 @@ private:
   void undo_promotion_move(Move m);
   void undo_ep_move(Move m);
   void find_checkers();
-  void find_pinned();
+  void find_hidden_checks(Color us, unsigned int types);
+  void find_hidden_checks();
+  void update_hidden_checks(Square from, Square to);
 
   template<PieceType Piece>
   void update_checkers(Bitboard* pCheckersBB, Square ksq, Square from, Square to, Bitboard dcCandidates);