X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=1440f73b44cca14e8513ef58debee582414600f2;hp=c43eee3df14ed3bea9692b44fad299d40bde1f71;hb=4c5cbb1b14b283679e3e0096b7973c97b75088f3;hpb=87886128288a82dabc78c2ce6dd688f42eaf8212 diff --git a/src/types.h b/src/types.h index c43eee3d..1440f73b 100644 --- a/src/types.h +++ b/src/types.h @@ -60,13 +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 -# define USE_BSFQ #endif -#if defined(USE_POPCNT) && defined(__INTEL_COMPILER) && defined(_MSC_VER) -# include // Intel header for _mm_popcnt_u64() intrinsic +#if defined(USE_POPCNT) && (defined(__INTEL_COMPILER) || defined(_MSC_VER)) +# include // Intel and Microsoft header for _mm_popcnt_u64() #endif #if !defined(NO_PREFETCH) && (defined(__INTEL_COMPILER) || defined(_MSC_VER)) @@ -210,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,