Pass CastlingFlag argument only

Instead of Color and CastlingSide. Change functions API
accordingly.

No functional change.
This commit is contained in:
Marco Costalba
2014-03-02 11:53:17 +01:00
parent 3e5470d88f
commit 708cb311a0
5 changed files with 51 additions and 47 deletions
+16 -12
View File
@@ -116,6 +116,14 @@ enum MoveType {
CASTLING = 3 << 14
};
enum Color {
WHITE, BLACK, NO_COLOR, COLOR_NB = 2
};
enum CastlingSide {
KING_SIDE, QUEEN_SIDE, CASTLING_SIDE_NB = 2
};
enum CastlingFlag { // Defined as in PolyGlot book hash key
NO_CASTLING,
WHITE_OO,
@@ -126,10 +134,10 @@ enum CastlingFlag { // Defined as in PolyGlot book hash key
CASTLING_FLAG_NB = 16
};
enum CastlingSide {
KING_SIDE,
QUEEN_SIDE,
CASTLING_SIDE_NB = 2
template<Color C, CastlingSide S> struct MakeCastling {
static const CastlingFlag
flag = C == WHITE ? S == QUEEN_SIDE ? WHITE_OOO : WHITE_OO
: S == QUEEN_SIDE ? BLACK_OOO : BLACK_OO;
};
enum Phase {
@@ -187,10 +195,6 @@ enum Piece {
PIECE_NB = 16
};
enum Color {
WHITE, BLACK, NO_COLOR, COLOR_NB = 2
};
enum Depth {
ONE_PLY = 2,
@@ -337,6 +341,10 @@ inline Square operator|(File f, Rank r) {
return Square((r << 3) | f);
}
inline CastlingFlag operator|(Color c, CastlingSide s) {
return CastlingFlag(WHITE_OO << ((s == QUEEN_SIDE) + 2 * c));
}
inline Value mate_in(int ply) {
return VALUE_MATE - ply;
}
@@ -349,10 +357,6 @@ inline Piece make_piece(Color c, PieceType pt) {
return Piece((c << 3) | pt);
}
inline CastlingFlag make_castling_flag(Color c, CastlingSide s) {
return CastlingFlag(WHITE_OO << ((s == QUEEN_SIDE) + 2 * c));
}
inline PieceType type_of(Piece p) {
return PieceType(p & 7);
}