X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=40a2baa0099e2da6ac006cc6bc6b86c225169374;hp=02e2d45515a1588b8bfbd7792f7fbc4381750371;hb=764d3f44b68c01eeb9e7759e75aebe18488322c1;hpb=caef31921900e092616c56193e37201b08baa875 diff --git a/src/types.h b/src/types.h index 02e2d455..40a2baa0 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) { @@ -392,7 +392,7 @@ inline Rank relative_rank(Color c, Square s) { } inline bool opposite_colors(Square s1, Square s2) { - int s = s1 ^ s2; + int s = int(s1) ^ int(s2); return ((s >> 3) ^ s) & 1; }