Go to the documentation of this file. 10 #if (defined(_MSC_VER) && !defined(__clang__)) 20 #if (defined(__clang__) && (!defined(AMD_COMPILER) || !AMD_COMPILER)) 21 #define CLANG_COMPILER 1 23 #define CLANG_COMPILER 0 30 #if (defined(__GNUC__) && !defined(__clang__)) && !defined(__INTEL_COMPILER) && !defined(__PCC__) 31 #define GCC_COMPILER 1 33 #define GCC_COMPILER 0 40 #ifdef __INTEL_COMPILER 41 #define INTEL_COMPILER 1 43 #define INTEL_COMPILER 0 55 #warning "This suite can't detect the difference between clang and aocc. You need to specify -DAMD_COMPILER={0 or 1}" 57 #define AMD_COMPILER 0 64 #if (defined(_M_X64) || defined(_M_AMD64) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)) 65 #define X64_COMPILER 1 67 #define X64_COMPILER 0 77 #if (!X64_COMPILER && (defined(_M_X86) || defined(_M_IX86) || defined(i386) || defined(__i386) || defined(__i386__) || defined(_X86_))) 78 #define X86_COMPILER 1 80 #define X86_COMPILER 0 87 #if (defined(__arm__) || defined(__aarch64__) || defined(__thumb__) || defined(_M_ARM) || defined(_M_ARMT) || defined(__ARM_ARCH)) 88 #define ARM_COMPILER 1 90 #define ARM_COMPILER 0 97 #if (ARM_COMPILER && (defined(__thumb__) || defined(_M_ARMT))) 112 #define max(a, b) (((a) > (b)) ? (a) : (b)) 122 #define min(a, b) (((a) < (b)) ? (a) : (b)) 131 #define swap(x, y, T) do { T SWAP = x; x = y; y = SWAP; } while (0) 142 #define likely(x) __builtin_expect(!!(x), 1) 151 #define unlikely(x) __builtin_expect(!!(x), 0) 159 #define PACK(decl) decl __attribute__((__packed__)) 161 #define likely(x) (x) 162 #define unlikely(x) (x) 163 #define PACK(decl) __pragma(pack(push, 1)) decl __pragma(pack(pop)) 171 #define EXTERN_PRINTF extern int printf(const char *const _Format, ...) 176 #define PCC_SQRT_ACCURACY 8 181 #define MAX_FACTORIAL_64 20 186 #define MAX_FACTORIAL_128 34 191 #define MAX_POW_10_16 10000U 196 #define POW_OF_MAX_POW_10_16 4 201 #define MAX_POW_10_32 1000000000UL 206 #define POW_OF_MAX_POW_10_32 9 211 #define MAX_POW_10_64 10000000000000000000ULL 216 #define POW_OF_MAX_POW_10_64 19 221 #define MAX_POW_10_128 ((uintmax_t) MAX_POW_10_64 * (uintmax_t) MAX_POW_10_64) 226 #define POW_OF_MAX_POW_10_128 38