X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=bbfd0c71a73194c5f9c78249d13658ce3b9f3b79;hp=cf0b3f953dedcad5826f47c21a2deb2fd6000699;hb=61a054b17002a167a09ce09eb9a7d820d792c680;hpb=5e905800887da94d481978d3bddd9539b2111458 diff --git a/src/types.h b/src/types.h index cf0b3f95..bbfd0c71 100644 --- a/src/types.h +++ b/src/types.h @@ -35,6 +35,7 @@ /// | only in 64-bit mode. For compiling requires hardware with /// | popcnt support. +#include #include #include @@ -127,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 }; @@ -347,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) {