X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=b2538e96b5cf9316dc2907bbfe43aec9d929dcc3;hp=c3ba5ac8a5b98a32c5a81099fc0519ce5eeede23;hb=20023ac9b8c28d8b15308d7bf5be4fad8501535d;hpb=94e41274bba2d8a2f2d58aaa711df5872309d66c diff --git a/src/position.h b/src/position.h index c3ba5ac8..b2538e96 100644 --- a/src/position.h +++ b/src/position.h @@ -131,6 +131,7 @@ public: Bitboard attacks_from(Piece pc, Square s) const; template Bitboard attacks_from(Square s) const; template Bitboard attacks_from(Square s, Color c) const; + Bitboard slider_blockers(Bitboard target, Bitboard sliders, Square s) const; // Properties of moves bool legal(Move m, Bitboard pinned) const; @@ -186,7 +187,6 @@ private: void set_state(StateInfo* si) const; // Other helpers - Bitboard check_blockers(Color c, Color kingColor) const; void put_piece(Color c, PieceType pt, Square s); void remove_piece(Color c, PieceType pt, Square s); void move_piece(Color c, PieceType pt, Square from, Square to); @@ -311,11 +311,11 @@ inline Bitboard Position::checkers() const { } inline Bitboard Position::discovered_check_candidates() const { - return check_blockers(sideToMove, ~sideToMove); + return slider_blockers(pieces(sideToMove), pieces(sideToMove), square(~sideToMove)); } inline Bitboard Position::pinned_pieces(Color c) const { - return check_blockers(c, c); + return slider_blockers(pieces(c), pieces(~c), square(c)); } inline bool Position::pawn_passed(Color c, Square s) const {