SCALE_FACTOR_NONE = 255
};
+enum CastleRight {
+ CASTLES_NONE = 0,
+ WHITE_OO = 1,
+ BLACK_OO = 2,
+ WHITE_OOO = 4,
+ BLACK_OOO = 8,
+ ALL_CASTLES = 15
+};
+
/// Score enum keeps a midgame and an endgame value in a single
/// integer (enum), first LSB 16 bits are used to store endgame
const Value QueenValueMidgame = Value(0x9D9);
const Value QueenValueEndgame = Value(0x9FE);
+extern const Value PieceValueMidgame[17];
+extern const Value PieceValueEndgame[17];
+
+inline Value piece_value_midgame(Piece p) {
+ return PieceValueMidgame[p];
+}
+
+inline Value piece_value_endgame(Piece p) {
+ return PieceValueEndgame[p];
+}
+
inline Value value_mate_in(int ply) {
return VALUE_MATE - ply;
}
return Piece((c << 3) | pt);
}
-inline PieceType type_of_piece(Piece p) {
+inline PieceType piece_type(Piece p) {
return PieceType(p & 7);
}
-inline Color color_of_piece(Piece p) {
+inline Color piece_color(Piece p) {
return Color(p >> 3);
}