X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=4e5de7f72f71214aa63c6616b960c7cd18464c58;hp=c5b901a98d4e64603b60446c522ec4884fa04627;hb=45b0aea875860e9f0fe2d0435ee6163906639194;hpb=908d98820b9f055d3089cc947f6901a2d6fe0d81 diff --git a/src/types.h b/src/types.h index c5b901a9..4e5de7f7 100644 --- a/src/types.h +++ b/src/types.h @@ -17,7 +17,7 @@ along with this program. If not, see . */ -#if !defined(TYPES_H_INCLUDED) +#ifndef TYPES_H_INCLUDED #define TYPES_H_INCLUDED /// For Linux and OSX configuration is done automatically using Makefile. To get @@ -42,6 +42,8 @@ #include "platform.h" +#define unlikely(x) (x) // For code annotation purposes + #if defined(_WIN64) && !defined(IS_64BIT) # include // MSVC popcnt and bsfq instrinsics # define IS_64BIT @@ -63,7 +65,7 @@ # define CACHE_LINE_ALIGNMENT __attribute__ ((aligned(CACHE_LINE_SIZE))) #endif -#if defined(_MSC_VER) +#ifdef _MSC_VER # define FORCE_INLINE __forceinline #elif defined(__GNUC__) # define FORCE_INLINE inline __attribute__((always_inline)) @@ -71,13 +73,13 @@ # define FORCE_INLINE inline #endif -#if defined(USE_POPCNT) +#ifdef USE_POPCNT const bool HasPopCnt = true; #else const bool HasPopCnt = false; #endif -#if defined(IS_64BIT) +#ifdef IS_64BIT const bool Is64Bit = true; #else const bool Is64Bit = false; @@ -88,7 +90,7 @@ typedef uint64_t Bitboard; const int MAX_MOVES = 192; const int MAX_PLY = 100; -const int MAX_PLY_PLUS_2 = MAX_PLY + 2; +const int MAX_PLY_PLUS_6 = MAX_PLY + 6; /// A move needs 16 bits to be stored /// @@ -194,7 +196,7 @@ enum Depth { DEPTH_ZERO = 0 * ONE_PLY, DEPTH_QS_CHECKS = -1 * ONE_PLY, DEPTH_QS_NO_CHECKS = -2 * ONE_PLY, - DEPTH_QS_RECAPTURES = -7 * ONE_PLY, + DEPTH_QS_RECAPTURES = -5 * ONE_PLY, DEPTH_NONE = -127 * ONE_PLY }; @@ -310,14 +312,13 @@ 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 { +struct ExtMove { Move move; int score; }; -inline bool operator<(const MoveStack& f, const MoveStack& s) { +inline bool operator<(const ExtMove& f, const ExtMove& s) { return f.score < s.score; } @@ -391,18 +392,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')); } @@ -451,4 +440,4 @@ inline const std::string square_to_string(Square s) { return ch; } -#endif // !defined(TYPES_H_INCLUDED) +#endif // #ifndef TYPES_H_INCLUDED