1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00

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 <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2012-05-26 09:51:16 +01:00
parent 0ecc920a09
commit a358dfe934
2 changed files with 5 additions and 5 deletions

View file

@ -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 {

View file

@ -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) {