X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftypes.h;h=d669d812e3ed8619c9e3e710ea42495b013161be;hb=13b4444d9e3a3ac5a71f256145904d13754f9e7f;hp=e45d2674fe70a1b3d293d7d848404f621c4de10c;hpb=2dd24dc4e618dc7b83799890fe7e84b09b6456b4;p=stockfish diff --git a/src/types.h b/src/types.h index e45d2674..d669d812 100644 --- a/src/types.h +++ b/src/types.h @@ -60,12 +60,12 @@ /// _WIN64 Building on Windows 64 bit #if defined(_WIN64) && defined(_MSC_VER) // No Makefile used -# include // MSVC popcnt and bsfq instrinsics +# include // Microsoft header for _BitScanForward64() # define IS_64BIT #endif #if defined(USE_POPCNT) && (defined(__INTEL_COMPILER) || defined(_MSC_VER)) -# include // Intel header for _mm_popcnt_u64() intrinsic +# include // Intel and Microsoft header for _mm_popcnt_u64() #endif #if !defined(NO_PREFETCH) && (defined(__INTEL_COMPILER) || defined(_MSC_VER)) @@ -183,13 +183,13 @@ enum Value : int { VALUE_MATE_IN_MAX_PLY = VALUE_MATE - 2 * MAX_PLY, VALUE_MATED_IN_MAX_PLY = -VALUE_MATE + 2 * MAX_PLY, - PawnValueMg = 198, PawnValueEg = 258, - KnightValueMg = 817, KnightValueEg = 896, - BishopValueMg = 836, BishopValueEg = 907, - RookValueMg = 1270, RookValueEg = 1356, - QueenValueMg = 2521, QueenValueEg = 2658, + PawnValueMg = 188, PawnValueEg = 248, + KnightValueMg = 753, KnightValueEg = 832, + BishopValueMg = 826, BishopValueEg = 897, + RookValueMg = 1285, RookValueEg = 1371, + QueenValueMg = 2513, QueenValueEg = 2650, - MidgameLimit = 15581, EndgameLimit = 3998 + MidgameLimit = 15258, EndgameLimit = 3915 }; enum PieceType { @@ -209,15 +209,17 @@ enum Depth { ONE_PLY = 1, - DEPTH_ZERO = 0, - DEPTH_QS_CHECKS = 0, - DEPTH_QS_NO_CHECKS = -1, - DEPTH_QS_RECAPTURES = -5, + DEPTH_ZERO = 0 * ONE_PLY, + DEPTH_QS_CHECKS = 0 * ONE_PLY, + DEPTH_QS_NO_CHECKS = -1 * ONE_PLY, + DEPTH_QS_RECAPTURES = -5 * ONE_PLY, - DEPTH_NONE = -6, - DEPTH_MAX = MAX_PLY + DEPTH_NONE = -6 * ONE_PLY, + DEPTH_MAX = MAX_PLY * ONE_PLY }; +static_assert(!(ONE_PLY & (ONE_PLY - 1)), "ONE_PLY is not a power of 2"); + enum Square { SQ_A1, SQ_B1, SQ_C1, SQ_D1, SQ_E1, SQ_F1, SQ_G1, SQ_H1, SQ_A2, SQ_B2, SQ_C2, SQ_D2, SQ_E2, SQ_F2, SQ_G2, SQ_H2,