3#if defined(HAVE_TYPE_SIG_ATOMIC_T)
7#if defined(HAVE_TYPE_WINT_T) || defined(HAVE_TYPE_WCTRANS_T) || defined(HAVE_TYPE_WCTYPE_T)
18#define DEFINE(type, size) rb_hash_aset(s, rb_str_new_cstr(#type), INT2FIX(SIZEOF_##size))
19#define DEFINE_SIZE(type) rb_hash_aset(s, rb_str_new_cstr(#type), INT2FIX(sizeof(type)))
30#if SIZEOF_LONG_LONG != 0 && defined(HAVE_TRUE_LONG_LONG)
31 DEFINE(
long long, LONG_LONG);
33#if SIZEOF___INT64 != 0
36#ifdef HAVE_TYPE___INT128
54#if SIZEOF_CLOCK_T != 0
60#if SIZEOF_PTRDIFF_T != 0
61 DEFINE(ptrdiff_t, PTRDIFF_T);
66#if SIZEOF_UINT8_T != 0
69#if SIZEOF_INT16_T != 0
72#if SIZEOF_UINT16_T != 0
73 DEFINE(uint16_t, UINT16_T);
75#if SIZEOF_INT32_T != 0
78#if SIZEOF_UINT32_T != 0
81#if SIZEOF_INT64_T != 0
84#if SIZEOF_UINT64_T != 0
87#if SIZEOF_INT128_T != 0
88 DEFINE(int128_t, INT128_T);
90#if SIZEOF_UINT128_T != 0
91 DEFINE(uint128_t, UINT128_T);
93#if SIZEOF_INTPTR_T != 0
96#if SIZEOF_UINTPTR_T != 0
99#if SIZEOF_SSIZE_T != 0
102#ifdef HAVE_TYPE_INT_LEAST8_T
105#ifdef HAVE_TYPE_INT_LEAST16_T
108#ifdef HAVE_TYPE_INT_LEAST32_T
111#ifdef HAVE_TYPE_INT_LEAST64_T
114#ifdef HAVE_TYPE_INT_FAST8_T
117#ifdef HAVE_TYPE_INT_FAST16_T
120#ifdef HAVE_TYPE_INT_FAST32_T
123#ifdef HAVE_TYPE_INT_FAST64_T
126#ifdef HAVE_TYPE_INTMAX_T
129#ifdef HAVE_TYPE_SIG_ATOMIC_T
132#ifdef HAVE_TYPE_WCHAR_T
135#ifdef HAVE_TYPE_WINT_T
138#ifdef HAVE_TYPE_WCTRANS_T
141#ifdef HAVE_TYPE_WCTYPE_T
144#ifdef HAVE_TYPE__BOOL
147#ifdef HAVE_TYPE_LONG_DOUBLE
150#ifdef HAVE_TYPE_FLOAT__COMPLEX
153#ifdef HAVE_TYPE_DOUBLE__COMPLEX
156#ifdef HAVE_TYPE_LONG_DOUBLE__COMPLEX
159#ifdef HAVE_TYPE_FLOAT__IMAGINARY
162#ifdef HAVE_TYPE_DOUBLE__IMAGINARY
165#ifdef HAVE_TYPE_LONG_DOUBLE__IMAGINARY
168#ifdef HAVE_TYPE___INT128
171#ifdef HAVE_TYPE___FLOAT128
174#ifdef HAVE_TYPE__DECIMAL32
177#ifdef HAVE_TYPE__DECIMAL64
180#ifdef HAVE_TYPE__DECIMAL128
183#ifdef HAVE_TYPE___M64
186#ifdef HAVE_TYPE___M128
189#ifdef HAVE_TYPE___FLOAT80
VALUE rb_define_module(const char *name)
void rb_define_const(VALUE, const char *, VALUE)
unsigned long long uint64_t
#define DEFINE_SIZE(type)
#define DEFINE(type, size)