mirror of
https://github.com/opelly27/Stockfish.git
synced 2026-05-20 13:17:44 +00:00
Pass CastlingFlag argument only
Instead of Color and CastlingSide. Change functions API accordingly. No functional change.
This commit is contained in:
+16
-12
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user