enum Value : int {
VALUE_ZERO = 0,
VALUE_DRAW = 0,
- VALUE_MATE = 32000,
- VALUE_INFINITE = 32001,
VALUE_NONE = 32002,
+ VALUE_INFINITE = 32001,
+
+ VALUE_MATE = 32000,
+ VALUE_MATE_IN_MAX_PLY = VALUE_MATE - MAX_PLY,
+ VALUE_MATED_IN_MAX_PLY = -VALUE_MATE_IN_MAX_PLY,
- VALUE_TB_WIN_IN_MAX_PLY = VALUE_MATE - 2 * MAX_PLY,
+ VALUE_TB = VALUE_MATE_IN_MAX_PLY - 1,
+ VALUE_TB_WIN_IN_MAX_PLY = VALUE_TB - MAX_PLY,
VALUE_TB_LOSS_IN_MAX_PLY = -VALUE_TB_WIN_IN_MAX_PLY,
- VALUE_MATE_IN_MAX_PLY = VALUE_MATE - MAX_PLY,
- VALUE_MATED_IN_MAX_PLY = -VALUE_MATE_IN_MAX_PLY,
// In the code, we make the assumption that these values
// are such that non_pawn_material() can be used to uniquely