]> git.sesse.net Git - stockfish/blobdiff - src/types.h
Fix Makefile's GPL-notice to be similar to other files
[stockfish] / src / types.h
index 161117f8536e433511824544c0ff8fbe8f653d7a..1a9dab7e4d45e1ce25890b1a5484d1e302d82b3f 100644 (file)
 #pragma warning(disable: 4800) // Forcing value to bool 'true' or 'false'
 #pragma warning(disable: 4127) // Conditional expression is constant
 
-typedef __int8 int8_t;
-typedef unsigned __int8 uint8_t;
-typedef __int16 int16;
+typedef   signed __int8    int8_t;
+typedef unsigned __int8   uint8_t;
+typedef   signed __int16  int16_t;
 typedef unsigned __int16 uint16_t;
-typedef __int32 int32_t;
+typedef   signed __int32  int32_t;
 typedef unsigned __int32 uint32_t;
-typedef __int64 int64_t;
+typedef   signed __int64  int64_t;
 typedef unsigned __int64 uint64_t;
 
-typedef __int16 int16_t;
-typedef __int64 int64_t;
-
 #endif // !defined(_MSC_VER)
 
 // Hash keys
@@ -86,6 +83,11 @@ typedef uint64_t Bitboard;
 #define USE_BSFQ
 #endif
 
+// Intel header for _mm_popcnt_u64() intrinsic
+#if defined(USE_POPCNT) && defined(_MSC_VER) && defined(__INTEL_COMPILER)
+#include <nmmintrin.h>
+#endif
+
 // Cache line alignment specification
 #if defined(_MSC_VER) || defined(__INTEL_COMPILER)
 #define CACHE_LINE_ALIGNMENT __declspec(align(64))
@@ -117,6 +119,15 @@ inline void __cpuid(int CPUInfo[4], int)
 }
 #endif
 
+// Define FORCE_INLINE macro to force inlining overriding compiler choice
+#if defined(_MSC_VER)
+#define FORCE_INLINE  __forceinline
+#elif defined(__GNUC__)
+#define FORCE_INLINE  inline __attribute__((always_inline))
+#elif
+#define FORCE_INLINE  inline
+#endif
+
 // Operators used by enum types like Depth, Piece, Square and so on.
 
 #define ENABLE_OPERATORS_ON(T) \