From: Marco Costalba Date: Sat, 26 May 2012 08:51:16 +0000 (+0100) Subject: Redefine enum CastleRight X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=a358dfe934eeefc00ea9adb20d4a83c4cf4d4e1e;ds=sidebyside Redefine enum CastleRight To be aligned with PolyGlot book castle right definitions. This will be used by next patch. No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/position.h b/src/position.h index d0087c3b..6351f580 100644 --- a/src/position.h +++ b/src/position.h @@ -302,7 +302,7 @@ inline int Position::can_castle(CastleRight f) const { } inline int Position::can_castle(Color c) const { - return st->castleRights & ((WHITE_OO | WHITE_OOO) << c); + return st->castleRights & ((WHITE_OO | WHITE_OOO) << (2 * c)); } inline bool Position::castle_impeded(Color c, CastlingSide s) const { diff --git a/src/types.h b/src/types.h index 02e2d455..bbfd0c71 100644 --- a/src/types.h +++ b/src/types.h @@ -128,11 +128,11 @@ inline bool operator<(const MoveStack& f, const MoveStack& s) { return f.score < s.score; } -enum CastleRight { +enum CastleRight { // Defined as in PolyGlot book hash key CASTLES_NONE = 0, WHITE_OO = 1, - BLACK_OO = 2, - WHITE_OOO = 4, + WHITE_OOO = 2, + BLACK_OO = 4, BLACK_OOO = 8, ALL_CASTLES = 15 }; @@ -348,7 +348,7 @@ inline Piece make_piece(Color c, PieceType pt) { } inline CastleRight make_castle_right(Color c, CastlingSide s) { - return CastleRight((s == KING_SIDE ? WHITE_OO : WHITE_OOO) << c); + return CastleRight(WHITE_OO << ((s == QUEEN_SIDE) + 2 * c)); } inline PieceType type_of(Piece p) {