]> git.sesse.net Git - stockfish/blobdiff - src/types.h
Retire seeValues[] and move PieceValue[] out of Position
[stockfish] / src / types.h
index 8093a713f5148204359b51aa7dd242748e310b44..5fd54c9e60a39fdf0244ed4829c18f1063713a83 100644 (file)
@@ -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;
 }