1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-01 09:13:08 +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 { 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 { 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; return f.score < s.score;
} }
enum CastleRight { enum CastleRight { // Defined as in PolyGlot book hash key
CASTLES_NONE = 0, CASTLES_NONE = 0,
WHITE_OO = 1, WHITE_OO = 1,
BLACK_OO = 2, WHITE_OOO = 2,
WHITE_OOO = 4, BLACK_OO = 4,
BLACK_OOO = 8, BLACK_OOO = 8,
ALL_CASTLES = 15 ALL_CASTLES = 15
}; };
@ -348,7 +348,7 @@ inline Piece make_piece(Color c, PieceType pt) {
} }
inline CastleRight make_castle_right(Color c, CastlingSide s) { 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) { inline PieceType type_of(Piece p) {