X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=4c8c813408993a33706d4eab4aaf1b0c1d3f8587;hp=8ce7dab55df09cc92a9ba14ebd2ef4c48de94fad;hb=3dccdf5b835b9856bcf869fbad90ae4914a2813c;hpb=04ff9c2548eb4d8b8a59db23f7212c7a8cdd25aa diff --git a/src/types.h b/src/types.h index 8ce7dab5..4c8c8134 100644 --- a/src/types.h +++ b/src/types.h @@ -44,6 +44,7 @@ #pragma warning(disable: 4127) // Conditional expression is constant #pragma warning(disable: 4146) // Unary minus operator applied to unsigned type #pragma warning(disable: 4800) // Forcing value to bool 'true' or 'false' +#pragma warning(disable: 4996) // Function _ftime() may be unsafe // MSVC does not support typedef signed __int8 int8_t; @@ -59,6 +60,20 @@ typedef unsigned __int64 uint64_t; # include #endif +#if defined(_WIN32) || defined(_WIN64) +# include +typedef _timeb sys_time_t; + +inline void system_time(sys_time_t* t) { _ftime(t); } +inline uint64_t time_to_msec(const sys_time_t& t) { return t.time * 1000LL + t.millitm; } +#else +# include +typedef timeval sys_time_t; + +inline void system_time(sys_time_t* t) { gettimeofday(t, NULL); } +inline uint64_t time_to_msec(const sys_time_t& t) { return t.tv_sec * 1000LL + t.tv_usec / 1000; } +#endif + #if defined(_WIN64) # include // MSVC popcnt and bsfq instrinsics # define IS_64BIT @@ -99,7 +114,7 @@ typedef uint64_t Key; typedef uint64_t Bitboard; const int MAX_MOVES = 256; -const int MAX_PLY = 100; +const int MAX_PLY = 256; const int MAX_PLY_PLUS_2 = MAX_PLY + 2; const Bitboard FileABB = 0x0101010101010101ULL; @@ -162,11 +177,11 @@ enum ScaleFactor { SCALE_FACTOR_NONE = 255 }; -enum ValueType { - VALUE_TYPE_NONE = 0, - VALUE_TYPE_UPPER = 1, - VALUE_TYPE_LOWER = 2, - VALUE_TYPE_EXACT = VALUE_TYPE_UPPER | VALUE_TYPE_LOWER +enum Bound { + BOUND_NONE = 0, + BOUND_UPPER = 1, + BOUND_LOWER = 2, + BOUND_EXACT = BOUND_UPPER | BOUND_LOWER }; enum Value { @@ -333,6 +348,7 @@ const Value QueenValueEndgame = Value(0x9FE); extern const Value PieceValueMidgame[17]; // Indexed by Piece or PieceType extern const Value PieceValueEndgame[17]; extern int SquareDistance[64][64]; +extern uint8_t BitCount8Bit[256]; inline Color operator~(Color c) { return Color(c ^ 1); @@ -451,7 +467,7 @@ inline int is_castle(Move m) { return (m & (3 << 14)) == (3 << 14); } -inline PieceType promotion_piece_type(Move m) { +inline PieceType promotion_type(Move m) { return PieceType(((m >> 12) & 3) + 2); }