4#if defined(__cplusplus)
51#if defined(__cplusplus) && __cplusplus < 201103L
52#ifndef __STDC_LIMIT_MACROS
53#define _NO_LIMIT_MACROS
57#ifndef _NO_LIMIT_MACROS
60#define INT8_MIN (-__INT8_MAX__ - 1)
61#define INT8_MAX __INT8_MAX__
62#define UINT8_MAX __UINT8_MAX__
64#define INT16_MIN (-__INT16_MAX__ - 1)
65#define INT16_MAX __INT16_MAX__
66#define UINT16_MAX __UINT16_MAX__
68#define INT32_MIN (-__INT32_MAX__ - 1)
69#define INT32_MAX __INT32_MAX__
70#define UINT32_MAX __UINT32_MAX__
72#define INT64_MIN (-__INT64_MAX__ - 1)
73#define INT64_MAX __INT64_MAX__
74#define UINT64_MAX __UINT64_MAX__
77#define INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1)
78#define INT_LEAST8_MAX __INT_LEAST8_MAX__
79#define UINT_LEAST8_MAX __UINT_LEAST8_MAX__
81#define INT_LEAST16_MIN (-__INT_LEAST16_MAX__ - 1)
82#define INT_LEAST16_MAX __INT_LEAST16_MAX__
83#define UINT_LEAST16_MAX __UINT_LEAST16_MAX__
85#define INT_LEAST32_MIN (-__INT_LEAST32_MAX__ - 1)
86#define INT_LEAST32_MAX __INT_LEAST32_MAX__
87#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
89#define INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1)
90#define INT_LEAST64_MAX __INT_LEAST64_MAX__
91#define UINT_LEAST64_MAX __UINT_LEAST64_MAX__
94#define INT_FAST8_MIN (-__INT_FAST8_MAX__ - 1)
95#define INT_FAST8_MAX __INT_FAST8_MAX__
96#define UINT_FAST8_MAX __UINT_FAST8_MAX__
98#define INT_FAST16_MIN (-__INT_FAST16_MAX__ - 1)
99#define INT_FAST16_MAX __INT_FAST16_MAX__
100#define UINT_FAST16_MAX __UINT_FAST16_MAX__
102#define INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1)
103#define INT_FAST32_MAX __INT_FAST32_MAX__
104#define UINT_FAST32_MAX __UINT_FAST32_MAX__
106#define INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1)
107#define INT_FAST64_MAX __INT_FAST64_MAX__
108#define UINT_FAST64_MAX __UINT_FAST64_MAX__
111#define INTPTR_MIN (-__INTPTR_MAX__ - 1)
112#define INTPTR_MAX __INTPTR_MAX__
113#define UINTPTR_MAX __UINTPTR_MAX__
116#define INTMAX_MIN (-__INTMAX_MAX__ - 1)
117#define INTMAX_MAX __INTMAX_MAX__
118#define UINTMAX_MAX __UINTMAX_MAX__
121#define PTRDIFF_MIN (-__PTRDIFF_MAX__ - 1)
122#define PTRDIFF_MAX __PTRDIFF_MAX__
124#define SIG_ATOMIC_MIN __SIG_ATOMIC_MIN__
125#define SIG_ATOMIC_MAX __SIG_ATOMIC_MAX__
127#define SIZE_MAX __SIZE_MAX__
129#define WCHAR_MIN __WCHAR_MIN__
130#define WCHAR_MAX __WCHAR_MAX__
132#define WINT_MIN __WINT_MIN__
133#define WINT_MAX __WINT_MAX__
139#if defined(__cplusplus) && __cplusplus < 201103L
140#ifndef __STDC_CONSTANT_MACROS
141#define _NO_CONSTANT_MACROS
145#ifndef _NO_CONSTANT_MACROS
147#define INT8_C(value) __INT8_C(value)
148#define INT16_C(value) __INT16_C(value)
149#define INT32_C(value) __INT32_C(value)
150#define INT64_C(value) __INT64_C(value)
152#define UINT8_C(value) __UINT8_C(value)
153#define UINT16_C(value) __UINT16_C(value)
154#define UINT32_C(value) __UINT32_C(value)
155#define UINT64_C(value) __UINT64_C(value)
157#define INTMAX_C(value) __INTMAX_C(value)
159#define UINTMAX_C(value) __UINTMAX_C(value)
165#define INT128_MIN (-INT128_MAX - 1)
166#define INT128_MAX ((int128_t)((uint128_t)~0 >> 1))
167#define UINT128_MAX ((uint128_t)~0)
173#define RSIZE_MAX (__SIZE_MAX__ >> 1)
176#if defined(__cplusplus)
__UINT_LEAST16_TYPE__ uint_least16_t
__UINT_FAST8_TYPE__ uint_fast8_t
__INT_LEAST16_TYPE__ int_least16_t
__INT_LEAST32_TYPE__ int_least32_t
__UINTPTR_TYPE__ uintptr_t
__UINTMAX_TYPE__ uintmax_t
__INT_FAST32_TYPE__ int_fast32_t
__UINT_LEAST8_TYPE__ uint_least8_t
__UINT_FAST64_TYPE__ uint_fast64_t
__UINT_LEAST32_TYPE__ uint_least32_t
__INT_FAST16_TYPE__ int_fast16_t
__INT_LEAST64_TYPE__ int_least64_t
__INT_FAST8_TYPE__ int_fast8_t
__UINT_FAST32_TYPE__ uint_fast32_t
__UINT_FAST16_TYPE__ uint_fast16_t
__UINT_LEAST64_TYPE__ uint_least64_t
__INT_FAST64_TYPE__ int_fast64_t
__INT_LEAST8_TYPE__ int_least8_t