X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=af1ba775de815fc418e70eb2a848d2f300a58901;hp=4dcbbf76ec80b24531fe414820fb7fe0781f8dc4;hb=d0e51bc0f0c77f93323aaa86c9c2485c41d38271;hpb=8b5519a009914b07ad73a71f86dc0e9ff52b99da diff --git a/src/position.h b/src/position.h index 4dcbbf76..af1ba775 100644 --- a/src/position.h +++ b/src/position.h @@ -171,11 +171,6 @@ public: // Number of pieces of each color and type int piece_count(Color c, PieceType pt) const; - int pawn_count(Color c) const; - int knight_count(Color c) const; - int bishop_count(Color c) const; - int rook_count(Color c) const; - int queen_count(Color c) const; // The en passant square: Square ep_square() const; @@ -213,8 +208,7 @@ public: Bitboard attacks_to(Square s) const; Bitboard attacks_to(Square s, Color c) const; bool is_check() const; - bool white_pawn_attacks_square(Square f, Square t) const; - bool black_pawn_attacks_square(Square f, Square t) const; + bool pawn_attacks_square(Color c, Square f, Square t) const; template Bitboard piece_attacks_square(Square f, Square t) const; // Dispatch at compile-time @@ -492,26 +486,6 @@ inline int Position::piece_count(Color c, PieceType pt) const { return pieceCount[c][pt]; } -inline int Position::pawn_count(Color c) const { - return piece_count(c, PAWN); -} - -inline int Position::knight_count(Color c) const { - return piece_count(c, KNIGHT); -} - -inline int Position::bishop_count(Color c) const { - return piece_count(c, BISHOP); -} - -inline int Position::rook_count(Color c) const { - return piece_count(c, ROOK); -} - -inline int Position::queen_count(Color c) const { - return piece_count(c, QUEEN); -} - inline Square Position::piece_list(Color c, PieceType pt, int index) const { return pieceList[c][pt][index]; } @@ -581,12 +555,8 @@ inline bool Position::is_check() const { return checkers() != EmptyBoardBB; } -inline bool Position::white_pawn_attacks_square(Square f, Square t) const { - return bit_is_set(pawn_attacks(WHITE, f), t); -} - -inline bool Position::black_pawn_attacks_square(Square f, Square t) const { - return bit_is_set(pawn_attacks(BLACK, f), t); +inline bool Position::pawn_attacks_square(Color c, Square f, Square t) const { + return bit_is_set(pawn_attacks(c, f), t); } template @@ -712,8 +682,8 @@ inline int Position::rule_50_counter() const { inline bool Position::opposite_colored_bishops() const { - return bishop_count(WHITE) == 1 - && bishop_count(BLACK) == 1 + return piece_count(WHITE, BISHOP) == 1 + && piece_count(BLACK, BISHOP) == 1 && square_color(piece_list(WHITE, BISHOP, 0)) != square_color(piece_list(BLACK, BISHOP, 0)); }