49 #define __need_wchar_t 53 #if _MSC_VER && (_MSC_VER < 1300) 55 #define __STDINT_LONGLONG __int64 56 #define __STDINT_LONGLONG_SUFFIX i64 58 #define __STDINT_LONGLONG long long 59 #define __STDINT_LONGLONG_SUFFIX LL 62 #if !defined(__MSSTDINT_PASTE) 63 #define __MSSTDINT_PASTE2(x, y) x##y 64 #define __MSSTDINT_PASTE(x, y) __MSSTDINT_PASTE2(x, y) 68 typedef signed char int8_t;
69 typedef unsigned char uint8_t;
70 typedef short int16_t;
71 typedef unsigned short uint16_t;
73 typedef unsigned uint32_t;
74 typedef __STDINT_LONGLONG int64_t;
75 typedef unsigned __STDINT_LONGLONG uint64_t;
78 typedef signed char int_least8_t;
79 typedef unsigned char uint_least8_t;
80 typedef short int_least16_t;
81 typedef unsigned short uint_least16_t;
82 typedef int int_least32_t;
83 typedef unsigned uint_least32_t;
84 typedef __STDINT_LONGLONG int_least64_t;
85 typedef unsigned __STDINT_LONGLONG uint_least64_t;
91 typedef char int_fast8_t;
92 typedef unsigned char uint_fast8_t;
93 typedef short int_fast16_t;
94 typedef unsigned short uint_fast16_t;
95 typedef int int_fast32_t;
96 typedef unsigned int uint_fast32_t;
97 typedef __STDINT_LONGLONG int_fast64_t;
98 typedef unsigned __STDINT_LONGLONG uint_fast64_t;
101 #ifndef _INTPTR_T_DEFINED 102 #define _INTPTR_T_DEFINED 104 typedef __STDINT_LONGLONG intptr_t
106 typedef int intptr_t;
110 #ifndef _UINTPTR_T_DEFINED 111 #define _UINTPTR_T_DEFINED 113 typedef unsigned __STDINT_LONGLONG uintptr_t
115 typedef unsigned int uintptr_t;
120 typedef __STDINT_LONGLONG intmax_t;
121 typedef unsigned __STDINT_LONGLONG uintmax_t;
124 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) 127 #define INT8_MIN (-128) 128 #define INT16_MIN (-32768) 129 #define INT32_MIN (-2147483647 - 1) 131 (__MSSTDINT_PASTE(-9223372036854775807, __STDINT_LONGLONG_SUFFIX) - 1) 134 #define INT16_MAX 32767 135 #define INT32_MAX 2147483647 137 (__MSSTDINT_PASTE(9223372036854775807, __STDINT_LONGLONG_SUFFIX)) 139 #define UINT8_MAX 0xff 140 #define UINT16_MAX 0xffff 141 #define UINT32_MAX 0xffffffff 143 (__MSSTDINT_PASTE(0xffffffffffffffffU, \ 144 __STDINT_LONGLONG_SUFFIX)) 147 #define INT_LEAST8_MIN INT8_MIN 148 #define INT_LEAST16_MIN INT16_MIN 149 #define INT_LEAST32_MIN INT32_MIN 150 #define INT_LEAST64_MIN INT64_MIN 152 #define INT_LEAST8_MAX INT8_MAX 153 #define INT_LEAST16_MAX INT16_MAX 154 #define INT_LEAST32_MAX INT32_MAX 155 #define INT_LEAST64_MAX INT64_MAX 157 #define UINT_LEAST8_MAX UINT8_MAX 158 #define UINT_LEAST16_MAX UINT16_MAX 159 #define UINT_LEAST32_MAX UINT32_MAX 160 #define UINT_LEAST64_MAX UINT64_MAX 163 #define INT_FAST8_MIN INT8_MIN 164 #define INT_FAST16_MIN INT16_MIN 165 #define INT_FAST32_MIN INT32_MIN 166 #define INT_FAST64_MIN INT64_MIN 168 #define INT_FAST8_MAX INT8_MAX 169 #define INT_FAST16_MAX INT16_MAX 170 #define INT_FAST32_MAX INT32_MAX 171 #define INT_FAST64_MAX INT64_MAX 173 #define UINT_FAST8_MAX UINT8_MAX 174 #define UINT_FAST16_MAX UINT16_MAX 175 #define UINT_FAST32_MAX UINT32_MAX 176 #define UINT_FAST64_MAX UINT64_MAX 181 #define INTPTR_MIN INT64_MIN 182 #define INTPTR_MAX INT64_MAX 183 #define UINTPTR_MAX UINT64_MAX 185 #define INTPTR_MIN INT32_MIN 186 #define INTPTR_MAX INT32_MAX 187 #define UINTPTR_MAX UINT32_MAX 191 #define INTMAX_MIN INT64_MIN 192 #define INTMAX_MAX INT64_MAX 193 #define UINTMAX_MAX UINT64_MAX 196 #define PTRDIFF_MIN INTPTR_MIN 197 #define PTRDIFF_MAX INTPTR_MAX 199 #define SIG_ATOMIC_MIN INTPTR_MIN 200 #define SIG_ATOMIC_MAX INTPTR_MAX 205 #define SIZE_MAX UINTPTR_MAX 210 #define WCHAR_MAX ((wchar_t)-1) 217 #define WINT_MAX ((wint_t)-1) 222 #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) 237 #define INT8_C(val) ((int8_t) + (val)) 238 #define UINT8_C(val) ((uint8_t) + (val##U)) 239 #define INT16_C(val) ((int16_t) + (val)) 240 #define UINT16_C(val) ((uint16_t) + (val##U)) 242 #define INT32_C(val) val##L 243 #define UINT32_C(val) val##UL 244 #define INT64_C(val) (__MSSTDINT_PASTE(val, __STDINT_LONGLONG_SUFFIX)) 245 #define UINT64_C(val) \ 246 (__MSSTDINT_PASTE(__MSSTDINT_PASTE(val, U), __STDINT_LONGLONG_SUFFIX)) 249 #define INTMAX_C(val) INT64_C(val) 250 #define UINTMAX_C(val) UINT64_C(val) 254 #undef __MSSTDINT_PASTE 255 #undef __MSSTDINT_PASTE2