X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=74173d03bc9004f75243177a45def93a57b81ade;hp=e1eacf26d01530cfc9df3fb2e22e7233d394738e;hb=3300517ecb75df265489d2a9841e4fce2414fd09;hpb=cf5d683408a2ef8a1c80be9bf7d6790a38b16277 diff --git a/src/position.h b/src/position.h index e1eacf26..74173d03 100644 --- a/src/position.h +++ b/src/position.h @@ -97,8 +97,8 @@ public: template Square square(Color c) const; // Castling - int can_castle(Color c) const; - int can_castle(CastlingRight cr) const; + int castling_rights(Color c) const; + bool can_castle(CastlingRight cr) const; bool castling_impeded(CastlingRight cr) const; Square castling_rook_square(CastlingRight cr) const; @@ -260,12 +260,12 @@ inline Square Position::ep_square() const { return st->epSquare; } -inline int Position::can_castle(CastlingRight cr) const { +inline bool Position::can_castle(CastlingRight cr) const { return st->castlingRights & cr; } -inline int Position::can_castle(Color c) const { - return st->castlingRights & ((WHITE_OO | WHITE_OOO) << (2 * c)); +inline int Position::castling_rights(Color c) const { + return st->castlingRights & (c == WHITE ? WHITE_CASTLING : BLACK_CASTLING); } inline bool Position::castling_impeded(CastlingRight cr) const {