54 #if __INT_MAX__ == 127
55 # define __USING_MINT8 1
57 # define __USING_MINT8 0
62 #if defined(__DOXYGEN__)
121 typedef signed int int8_t __attribute__((__mode__(__QI__)));
122 typedef unsigned int uint8_t __attribute__((__mode__(__QI__)));
123 typedef signed int int16_t __attribute__ ((__mode__ (__HI__)));
124 typedef unsigned int uint16_t __attribute__ ((__mode__ (__HI__)));
125 typedef signed int int32_t __attribute__ ((__mode__ (__SI__)));
126 typedef unsigned int uint32_t __attribute__ ((__mode__ (__SI__)));
128 typedef signed int int64_t __attribute__((__mode__(__DI__)));
129 typedef unsigned int uint64_t __attribute__((__mode__(__DI__)));
186 #if !__USING_MINT8 || defined(__DOXYGEN__)
240 #if !__USING_MINT8 || defined(__DOXYGEN__)
285 #define __CONCATenate(left, right) left ## right
286 #define __CONCAT(left, right) __CONCATenate(left, right)
289 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
300 #define INT8_MAX 0x7f
305 #define INT8_MIN (-INT8_MAX - 1)
310 #define UINT8_MAX (__CONCAT(INT8_MAX, U) * 2U + 1U)
314 #define INT16_MAX 0x7fffL
315 #define INT16_MIN (-INT16_MAX - 1L)
316 #define UINT16_MAX (__CONCAT(INT16_MAX, U) * 2UL + 1UL)
318 #define INT32_MAX 0x7fffffffLL
319 #define INT32_MIN (-INT32_MAX - 1LL)
320 #define UINT32_MAX (__CONCAT(INT32_MAX, U) * 2ULL + 1ULL)
327 #define INT16_MAX 0x7fff
332 #define INT16_MIN (-INT16_MAX - 1)
337 #define UINT16_MAX (__CONCAT(INT16_MAX, U) * 2U + 1U)
342 #define INT32_MAX 0x7fffffffL
347 #define INT32_MIN (-INT32_MAX - 1L)
352 #define UINT32_MAX (__CONCAT(INT32_MAX, U) * 2UL + 1UL)
359 #define INT64_MAX 0x7fffffffffffffffLL
364 #define INT64_MIN (-INT64_MAX - 1LL)
369 #define UINT64_MAX (__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)
379 #define INT_LEAST8_MAX INT8_MAX
384 #define INT_LEAST8_MIN INT8_MIN
389 #define UINT_LEAST8_MAX UINT8_MAX
394 #define INT_LEAST16_MAX INT16_MAX
399 #define INT_LEAST16_MIN INT16_MIN
404 #define UINT_LEAST16_MAX UINT16_MAX
409 #define INT_LEAST32_MAX INT32_MAX
414 #define INT_LEAST32_MIN INT32_MIN
419 #define UINT_LEAST32_MAX UINT32_MAX
424 #define INT_LEAST64_MAX INT64_MAX
429 #define INT_LEAST64_MIN INT64_MIN
434 #define UINT_LEAST64_MAX UINT64_MAX
445 #define INT_FAST8_MAX INT8_MAX
450 #define INT_FAST8_MIN INT8_MIN
455 #define UINT_FAST8_MAX UINT8_MAX
460 #define INT_FAST16_MAX INT16_MAX
465 #define INT_FAST16_MIN INT16_MIN
470 #define UINT_FAST16_MAX UINT16_MAX
475 #define INT_FAST32_MAX INT32_MAX
480 #define INT_FAST32_MIN INT32_MIN
485 #define UINT_FAST32_MAX UINT32_MAX
490 #define INT_FAST64_MAX INT64_MAX
495 #define INT_FAST64_MIN INT64_MIN
500 #define UINT_FAST64_MAX UINT64_MAX
511 #define INTPTR_MAX INT16_MAX
516 #define INTPTR_MIN INT16_MIN
521 #define UINTPTR_MAX UINT16_MAX
532 #define INTMAX_MAX INT64_MAX
537 #define INTMAX_MIN INT64_MIN
542 #define UINTMAX_MAX UINT64_MAX
555 #define PTRDIFF_MAX INT16_MAX
560 #define PTRDIFF_MIN INT16_MIN
569 #define SIG_ATOMIC_MAX INT8_MAX
574 #define SIG_ATOMIC_MIN INT8_MIN
580 #define SIZE_MAX (__CONCAT(INT16_MAX, U))
597 #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
609 #define INT8_C(value) ((int8_t) value)
614 #define UINT8_C(value) ((uint8_t) __CONCAT(value, U))
618 #define INT16_C(value) __CONCAT(value, L)
619 #define UINT16_C(value) __CONCAT(value, UL)
621 #define INT32_C(value) ((int32_t) __CONCAT(value, LL))
622 #define UINT32_C(value) ((uint32_t) __CONCAT(value, ULL))
629 #define INT16_C(value) value
634 #define UINT16_C(value) __CONCAT(value, U)
639 #define INT32_C(value) __CONCAT(value, L)
644 #define UINT32_C(value) __CONCAT(value, UL)
651 #define INT64_C(value) __CONCAT(value, LL)
656 #define UINT64_C(value) __CONCAT(value, ULL)
661 #define INTMAX_C(value) __CONCAT(value, LL)
666 #define UINTMAX_C(value) __CONCAT(value, ULL)
int16_t intptr_t
Definition: stdint.h:142
signed long long int int64_t
Definition: stdint.h:106
uint64_t uint_least64_t
Definition: stdint.h:199
uint64_t uint_fast64_t
Definition: stdint.h:253
int64_t int_fast64_t
Definition: stdint.h:246
int32_t int_fast32_t
Definition: stdint.h:233
signed int int16_t
Definition: stdint.h:84
signed char int8_t
Definition: stdint.h:74
uint64_t uintmax_t
Definition: stdint.h:278
int32_t int_least32_t
Definition: stdint.h:179
signed long int int32_t
Definition: stdint.h:94
int8_t int_least8_t
Definition: stdint.h:159
int64_t int_least64_t
Definition: stdint.h:192
int8_t int_fast8_t
Definition: stdint.h:213
uint16_t uint_fast16_t
Definition: stdint.h:228
uint16_t uintptr_t
Definition: stdint.h:147
unsigned char uint8_t
Definition: stdint.h:79
unsigned long int uint32_t
Definition: stdint.h:99
uint8_t uint_fast8_t
Definition: stdint.h:218
uint16_t uint_least16_t
Definition: stdint.h:174
uint32_t uint_fast32_t
Definition: stdint.h:238
uint32_t uint_least32_t
Definition: stdint.h:184
unsigned long long int uint64_t
Definition: stdint.h:113
int64_t intmax_t
Definition: stdint.h:273
uint8_t uint_least8_t
Definition: stdint.h:164
int16_t int_least16_t
Definition: stdint.h:169
unsigned int uint16_t
Definition: stdint.h:89
int16_t int_fast16_t
Definition: stdint.h:223