X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=9567d6b851a0a8ec8d0cae53419e0aa71531e4de;hp=10642ad39f240e5e04198a61884069c16e7af1a3;hb=7bc36887144bc6a682e54a91044641f913176449;hpb=fd35d92c1e639d22ed10fb225272f08bd9afc885 diff --git a/src/types.h b/src/types.h index 10642ad3..9567d6b8 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 @@ -185,7 +200,7 @@ enum Value { }; enum PieceType { - NO_PIECE_TYPE = 0, + NO_PIECE_TYPE = 0, ALL_PIECES = 0, PAWN = 1, KNIGHT = 2, BISHOP = 3, ROOK = 4, QUEEN = 5, KING = 6 }; @@ -452,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); }