]> git.sesse.net Git - stockfish/blobdiff - src/types.h
Better annotate unlikely conditions
[stockfish] / src / types.h
index c5b901a98d4e64603b60446c522ec4884fa04627..8eb994551d2d6ffc7515217b05ee03a86c0e326d 100644 (file)
 #  define FORCE_INLINE  inline
 #endif
 
+#ifdef __GNUC__
+#  define likely(x)   __builtin_expect(!!(x), 1)
+#  define unlikely(x) __builtin_expect(!!(x), 0)
+#else
+#  define likely(x)   (x)
+#  define unlikely(x) (x)
+#endif
+
 #if defined(USE_POPCNT)
 const bool HasPopCnt = true;
 #else
@@ -310,7 +318,6 @@ inline Score operator/(Score s, int i) {
 #undef ENABLE_SAFE_OPERATORS_ON
 
 extern Value PieceValue[PHASE_NB][PIECE_NB];
-extern int SquareDistance[SQUARE_NB][SQUARE_NB];
 
 struct MoveStack {
   Move move;
@@ -391,18 +398,6 @@ inline bool opposite_colors(Square s1, Square s2) {
   return ((s >> 3) ^ s) & 1;
 }
 
-inline int file_distance(Square s1, Square s2) {
-  return abs(file_of(s1) - file_of(s2));
-}
-
-inline int rank_distance(Square s1, Square s2) {
-  return abs(rank_of(s1) - rank_of(s2));
-}
-
-inline int square_distance(Square s1, Square s2) {
-  return SquareDistance[s1][s2];
-}
-
 inline char file_to_char(File f, bool tolower = true) {
   return char(f - FILE_A + (tolower ? 'a' : 'A'));
 }