typedef uint64_t Bitboard;
constexpr int MAX_MOVES = 256;
-constexpr int MAX_PLY = 128;
+constexpr int MAX_PLY = 246;
/// A move needs 16 bits to be stored
///
VALUE_MATE_IN_MAX_PLY = VALUE_MATE - 2 * MAX_PLY,
VALUE_MATED_IN_MAX_PLY = -VALUE_MATE + 2 * MAX_PLY,
- PawnValueMg = 136, PawnValueEg = 208,
+ PawnValueMg = 128, PawnValueEg = 213,
KnightValueMg = 782, KnightValueEg = 865,
BishopValueMg = 830, BishopValueEg = 918,
RookValueMg = 1289, RookValueEg = 1378,
DEPTH_QS_NO_CHECKS = -1 * ONE_PLY,
DEPTH_QS_RECAPTURES = -5 * ONE_PLY,
- DEPTH_NONE = -6 * ONE_PLY,
- DEPTH_MAX = MAX_PLY * ONE_PLY
+ DEPTH_NONE = -6 * ONE_PLY,
+ DEPTH_OFFSET = DEPTH_NONE,
+ DEPTH_MAX = MAX_PLY * ONE_PLY
};
static_assert(!(ONE_PLY & (ONE_PLY - 1)), "ONE_PLY is not a power of 2");
#define ENABLE_FULL_OPERATORS_ON(T) \
ENABLE_BASE_OPERATORS_ON(T) \
-ENABLE_INCR_OPERATORS_ON(T) \
constexpr T operator*(int i, T d) { return T(i * int(d)); } \
constexpr T operator*(T d, int i) { return T(int(d) * i); } \
constexpr T operator/(T d, int i) { return T(int(d) / i); } \
ENABLE_INCR_OPERATORS_ON(PieceType)
ENABLE_INCR_OPERATORS_ON(Piece)
-ENABLE_INCR_OPERATORS_ON(Color)
ENABLE_INCR_OPERATORS_ON(Square)
ENABLE_INCR_OPERATORS_ON(File)
ENABLE_INCR_OPERATORS_ON(Rank)