]> git.sesse.net Git - stockfish/blobdiff - src/position.h
Bug wrong evasion detection for king moves
[stockfish] / src / position.h
index 5db64ec3137a76e4f31951e816c3bbe0676d6294..e560a097330d1ec0f65c0a8364d59551334aaac3 100644 (file)
@@ -178,6 +178,7 @@ public:
 
   // Information about attacks to or from a given square
   Bitboard attackers_to(Square s) const;
+  Bitboard attackers_to(Square s, Bitboard occ) const;
   Bitboard attacks_from(Piece p, Square s) const;
   static Bitboard attacks_from(Piece p, Square s, Bitboard occ);
   template<PieceType> Bitboard attacks_from(Square s) const;
@@ -185,13 +186,11 @@ public:
 
   // Properties of moves
   bool pl_move_is_legal(Move m, Bitboard pinned) const;
-  bool pl_move_is_evasion(Move m, Bitboard pinned) const;
   bool move_is_legal(const Move m) const;
   bool move_is_legal(const Move m, Bitboard pinned) const;
   bool move_gives_check(Move m) const;
   bool move_gives_check(Move m, const CheckInfo& ci) const;
   bool move_is_capture(Move m) const;
-  bool move_is_capture_or_promotion(Move m) const;
   bool move_is_passed_pawn_push(Move m) const;
   bool move_attacks_square(Move m, Square s) const;
 
@@ -527,13 +526,7 @@ inline bool Position::is_chess960() const {
 inline bool Position::move_is_capture(Move m) const {
 
   assert (m != MOVE_NONE && m != MOVE_NULL);
-  return !square_is_empty(move_to(m)) || move_is_ep(m);
-}
-
-inline bool Position::move_is_capture_or_promotion(Move m) const {
-
-  assert (m != MOVE_NONE && m != MOVE_NULL);
-  return move_is_capture(m) || move_is_promotion(m);
+  return !move_is_special(m) ? !square_is_empty(move_to(m)) : move_is_ep(m);
 }
 
 inline PieceType Position::captured_piece_type() const {