1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
//! Defines the `Value` type and its related constants. /// Evaluation value in centipawns. /// /// Positive values mean that the position is favorable for the side /// to move. Negative values mean the position is favorable for the /// other side (not to move). A value of `0` means that the chances /// are equal. For example: a value of `100` might mean that the side /// to move is a pawn ahead. /// /// # Constants: /// /// * `VALUE_UNKNOWN` has the special meaning of "unknown value". /// /// * Values bigger than `VALUE_EVAL_MAX` designate a win by /// inevitable checkmate. /// /// * Values smaller than `VALUE_EVAL_MIN` designate a loss by /// inevitable checkmate. /// /// * `VALUE_MAX` designates a checkmate (a win). /// /// * `VALUE_MAX - 1` designates an inevitable checkmate (a win) in /// 1 half-move. /// /// * `VALUE_MAX - 2` designates an inevitable checkmate (a win) in /// 2 half-moves. /// /// * and so forth. /// /// * `VALUE_MIN` designates a checkmate (a loss). /// /// * `VALUE_MIN + 1` designates an inevitable checkmate (a loss) /// in 1 half-move. /// /// * `VALUE_MIN + 2` designates an inevitable checkmate (a loss) /// in 2 half-moves. /// /// * and so forth. pub type Value = i16; pub const VALUE_UNKNOWN: Value = VALUE_MIN - 1; pub const VALUE_MAX: Value = ::std::i16::MAX; pub const VALUE_MIN: Value = -VALUE_MAX; pub const VALUE_EVAL_MAX: Value = 29999; pub const VALUE_EVAL_MIN: Value = -VALUE_EVAL_MAX;