X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=5fd54c9e60a39fdf0244ed4829c18f1063713a83;hp=8093a713f5148204359b51aa7dd242748e310b44;hb=351ef5c85b6d4b9c71e9da367f0be5ab6e6f8117;hpb=ff9e49bac958956d30dd8afbc5f191689141874d diff --git a/src/types.h b/src/types.h index 8093a713..5fd54c9e 100644 --- a/src/types.h +++ b/src/types.h @@ -201,9 +201,10 @@ enum Depth { ONE_PLY = 2, - DEPTH_ZERO = 0 * ONE_PLY, - DEPTH_QS_CHECKS = -1 * ONE_PLY, - DEPTH_QS_NO_CHECKS = -2 * ONE_PLY, + DEPTH_ZERO = 0 * ONE_PLY, + DEPTH_QS_CHECKS = -1 * ONE_PLY, + DEPTH_QS_NO_CHECKS = -2 * ONE_PLY, + DEPTH_QS_RECAPTURES = -4 * ONE_PLY, DEPTH_NONE = -127 * ONE_PLY }; @@ -336,6 +337,17 @@ const Value RookValueEndgame = Value(0x4FE); 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; } @@ -360,18 +372,6 @@ inline Color opposite_color(Color c) { return Color(c ^ 1); } -inline bool color_is_ok(Color c) { - return c == WHITE || c == BLACK; -} - -inline bool piece_type_is_ok(PieceType pt) { - return pt >= PAWN && pt <= KING; -} - -inline bool piece_is_ok(Piece p) { - return piece_type_is_ok(type_of_piece(p)) && color_is_ok(color_of_piece(p)); -} - inline char piece_type_to_char(PieceType pt) { static const char ch[] = " PNBRQK"; return ch[pt]; @@ -381,6 +381,10 @@ inline Square make_square(File f, Rank r) { return Square((r << 3) | f); } +inline bool square_is_ok(Square s) { + return s >= SQ_A1 && s <= SQ_H8; +} + inline File square_file(Square s) { return File(s & 7); } @@ -430,18 +434,10 @@ inline int square_distance(Square s1, Square s2) { return Max(file_distance(s1, s2), rank_distance(s1, s2)); } -inline File file_from_char(char c) { - return File(c - 'a') + FILE_A; -} - inline char file_to_char(File f) { return char(f - FILE_A + int('a')); } -inline Rank rank_from_char(char c) { - return Rank(c - '1') + RANK_1; -} - inline char rank_to_char(Rank r) { return char(r - RANK_1 + int('1')); } @@ -451,18 +447,6 @@ inline const std::string square_to_string(Square s) { return std::string(ch); } -inline bool file_is_ok(File f) { - return f >= FILE_A && f <= FILE_H; -} - -inline bool rank_is_ok(Rank r) { - return r >= RANK_1 && r <= RANK_8; -} - -inline bool square_is_ok(Square s) { - return s >= SQ_A1 && s <= SQ_H8; -} - inline Square pawn_push(Color c) { return c == WHITE ? DELTA_N : DELTA_S; }