15 unsigned char* b = (
unsigned char*)&i;
22 return (b[0]==1?
true:
false);
27 #if defined(__APPLE__)
28 #include <TargetConditionals.h>
35 inline bool is_iOS() {
return true;}
53 #if defined(ANDROID) || TARGET_OS_IPHONE
57 #elif defined(EMSCRIPTEN)
67 inline bool slow_cpu() {
return true;}
107 inline const char*
os() {
110 static const char s_s[] =
"iOS";
111 #elif defined(ANDROID)
112 static const char s_s[] =
"Android";
113 #elif defined(EMSCRIPTEN)
114 static const char s_s[] =
"emscripten";
115 #elif defined(_WIN32)
116 static const char s_s[] =
"Windows_NT";
118 static const char s_s[] =
"Darwin";
119 #elif defined(__linux)
120 static const char s_s[] =
"Linux";
121 #elif defined(__alpha)
122 static const char s_s[] =
"OSF1";
123 #elif defined(__CYGWIN__)
124 static const char s_s[] =
"CYGWIN";
126 static const char s_s[] =
"unknown";
141 #if defined(__GNUC__)
144 static const char s_s[] =
"ppc";
145 #elif defined(__ppc64__)
146 static const char s_s[] =
"ppc64";
147 #elif defined(__i386__)
148 static const char s_s[] =
"i386";
149 #elif defined(__x86_64__)
150 static const char s_s[] =
"x86_64";
151 #elif defined(__ia64__)
152 static const char s_s[] =
"ia64";
154 static const char s_s[] =
"unknown";
157 #elif defined(_MSC_VER)
160 static const char s_s[] =
"ix86";
161 #elif defined(_M_X64)
162 static const char s_s[] =
"x64";
164 static const char s_s[] =
"unknown";
167 #elif defined(__alpha)
168 static const char s_s[] =
"alpha";
171 static const char s_s[] =
"unknown";
178 #if defined(__clang__)
179 static const char s_s[] =
"clang";
180 #elif defined(__GNUC__)
181 static const char s_s[] =
"gcc";
182 #elif defined(_MSC_VER)
183 static const char s_s[] =
"cl";
184 #elif defined(__alpha)
185 static const char s_s[] =
"cxx";
187 static const char s_s[] =
"unknown";
203 #if defined(__clang__)
205 tosu<unsigned int>(__clang_major__,pos,l);pos += l;
206 tosu<unsigned int>(__clang_minor__,pos,l);pos += l;
207 tosu<unsigned int>(__clang_patchlevel__,pos,l);pos += l;
208 #elif defined(__GNUC__)
210 tosu<unsigned int>(__GNUC__,pos,l);pos += l;
211 tosu<unsigned int>(__GNUC_MINOR__,pos,l);pos += l;
212 tosu<unsigned int>(__GNUC_PATCHLEVEL__,pos,l);pos += l;
213 #elif defined(_MSC_VER)
215 tosu<unsigned int>(_MSC_VER,pos,l);pos += l;
218 #elif defined(__alpha)