stdint.h raw

   1  #ifndef _STDINT_H
   2  #define _STDINT_H
   3  
   4  #define __NEED_int8_t
   5  #define __NEED_int16_t
   6  #define __NEED_int32_t
   7  #define __NEED_int64_t
   8  
   9  #define __NEED_uint8_t
  10  #define __NEED_uint16_t
  11  #define __NEED_uint32_t
  12  #define __NEED_uint64_t
  13  
  14  #define __NEED_intptr_t
  15  #define __NEED_uintptr_t
  16  
  17  #define __NEED_intmax_t
  18  #define __NEED_uintmax_t
  19  
  20  #include <bits/alltypes.h>
  21  
  22  typedef int8_t int_fast8_t;
  23  typedef int64_t int_fast64_t;
  24  
  25  typedef int8_t  int_least8_t;
  26  typedef int16_t int_least16_t;
  27  typedef int32_t int_least32_t;
  28  typedef int64_t int_least64_t;
  29  
  30  typedef uint8_t uint_fast8_t;
  31  typedef uint64_t uint_fast64_t;
  32  
  33  typedef uint8_t  uint_least8_t;
  34  typedef uint16_t uint_least16_t;
  35  typedef uint32_t uint_least32_t;
  36  typedef uint64_t uint_least64_t;
  37  
  38  #define INT8_MIN   (-1-0x7f)
  39  #define INT16_MIN  (-1-0x7fff)
  40  #define INT32_MIN  (-1-0x7fffffff)
  41  #define INT64_MIN  (-1-0x7fffffffffffffff)
  42  
  43  #define INT8_MAX   (0x7f)
  44  #define INT16_MAX  (0x7fff)
  45  #define INT32_MAX  (0x7fffffff)
  46  #define INT64_MAX  (0x7fffffffffffffff)
  47  
  48  #define UINT8_MAX  (0xff)
  49  #define UINT16_MAX (0xffff)
  50  #define UINT32_MAX (0xffffffffu)
  51  #define UINT64_MAX (0xffffffffffffffffu)
  52  
  53  #define INT_FAST8_MIN   INT8_MIN
  54  #define INT_FAST64_MIN  INT64_MIN
  55  
  56  #define INT_LEAST8_MIN   INT8_MIN
  57  #define INT_LEAST16_MIN  INT16_MIN
  58  #define INT_LEAST32_MIN  INT32_MIN
  59  #define INT_LEAST64_MIN  INT64_MIN
  60  
  61  #define INT_FAST8_MAX   INT8_MAX
  62  #define INT_FAST64_MAX  INT64_MAX
  63  
  64  #define INT_LEAST8_MAX   INT8_MAX
  65  #define INT_LEAST16_MAX  INT16_MAX
  66  #define INT_LEAST32_MAX  INT32_MAX
  67  #define INT_LEAST64_MAX  INT64_MAX
  68  
  69  #define UINT_FAST8_MAX  UINT8_MAX
  70  #define UINT_FAST64_MAX UINT64_MAX
  71  
  72  #define UINT_LEAST8_MAX  UINT8_MAX
  73  #define UINT_LEAST16_MAX UINT16_MAX
  74  #define UINT_LEAST32_MAX UINT32_MAX
  75  #define UINT_LEAST64_MAX UINT64_MAX
  76  
  77  #define INTMAX_MIN  INT64_MIN
  78  #define INTMAX_MAX  INT64_MAX
  79  #define UINTMAX_MAX UINT64_MAX
  80  
  81  #define WINT_MIN 0U
  82  #define WINT_MAX UINT32_MAX
  83  
  84  #if L'\0'-1 > 0
  85  #define WCHAR_MAX (0xffffffffu+L'\0')
  86  #define WCHAR_MIN (0+L'\0')
  87  #else
  88  #define WCHAR_MAX (0x7fffffff+L'\0')
  89  #define WCHAR_MIN (-1-0x7fffffff+L'\0')
  90  #endif
  91  
  92  #define SIG_ATOMIC_MIN  INT32_MIN
  93  #define SIG_ATOMIC_MAX  INT32_MAX
  94  
  95  #include <bits/stdint.h>
  96  
  97  #define INT8_C(c)  c
  98  #define INT16_C(c) c
  99  #define INT32_C(c) c
 100  
 101  #define UINT8_C(c)  c
 102  #define UINT16_C(c) c
 103  #define UINT32_C(c) c ## U
 104  
 105  #if UINTPTR_MAX == UINT64_MAX
 106  #define INT64_C(c) c ## L
 107  #define UINT64_C(c) c ## UL
 108  #define INTMAX_C(c)  c ## L
 109  #define UINTMAX_C(c) c ## UL
 110  #else
 111  #define INT64_C(c) c ## LL
 112  #define UINT64_C(c) c ## ULL
 113  #define INTMAX_C(c)  c ## LL
 114  #define UINTMAX_C(c) c ## ULL
 115  #endif
 116  
 117  #endif
 118