1 // Static data members of -*- C++ -*- numeric_limits classes
3 // Copyright (C) 1999, 2001, 2002, 2005, 2006, 2009
4 // Free Software Foundation, Inc.
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // Under Section 7 of GPL version 3, you are granted additional
18 // permissions described in the GCC Runtime Library Exception, version
19 // 3.1, as published by the Free Software Foundation.
21 // You should have received a copy of the GNU General Public License and
22 // a copy of the GCC Runtime Library Exception along with this program;
23 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24 // <http://www.gnu.org/licenses/>.
26 // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
35 _GLIBCXX_BEGIN_NAMESPACE(std)
37 const bool __numeric_limits_base::is_specialized;
38 const int __numeric_limits_base::digits;
39 const int __numeric_limits_base::digits10;
40 const bool __numeric_limits_base::is_signed;
41 const bool __numeric_limits_base::is_integer;
42 const bool __numeric_limits_base::is_exact;
43 const int __numeric_limits_base::radix;
44 const int __numeric_limits_base::min_exponent;
45 const int __numeric_limits_base::min_exponent10;
46 const int __numeric_limits_base::max_exponent;
47 const int __numeric_limits_base::max_exponent10;
48 const bool __numeric_limits_base::has_infinity;
49 const bool __numeric_limits_base::has_quiet_NaN;
50 const bool __numeric_limits_base::has_signaling_NaN;
51 const float_denorm_style __numeric_limits_base::has_denorm;
52 const bool __numeric_limits_base::has_denorm_loss;
53 const bool __numeric_limits_base::is_iec559;
54 const bool __numeric_limits_base::is_bounded;
55 const bool __numeric_limits_base::is_modulo;
56 const bool __numeric_limits_base::traps;
57 const bool __numeric_limits_base::tinyness_before;
58 const float_round_style __numeric_limits_base::round_style;
61 const bool numeric_limits<bool>::is_specialized;
62 const int numeric_limits<bool>::digits;
63 const int numeric_limits<bool>::digits10;
64 const bool numeric_limits<bool>::is_signed;
65 const bool numeric_limits<bool>::is_integer;
66 const bool numeric_limits<bool>::is_exact;
67 const int numeric_limits<bool>::radix;
68 const int numeric_limits<bool>::min_exponent;
69 const int numeric_limits<bool>::min_exponent10;
70 const int numeric_limits<bool>::max_exponent;
71 const int numeric_limits<bool>::max_exponent10;
72 const bool numeric_limits<bool>::has_infinity;
73 const bool numeric_limits<bool>::has_quiet_NaN;
74 const bool numeric_limits<bool>::has_signaling_NaN;
75 const float_denorm_style numeric_limits<bool>::has_denorm;
76 const bool numeric_limits<bool>::has_denorm_loss;
77 const bool numeric_limits<bool>::is_iec559;
78 const bool numeric_limits<bool>::is_bounded;
79 const bool numeric_limits<bool>::is_modulo;
80 const bool numeric_limits<bool>::traps;
81 const bool numeric_limits<bool>::tinyness_before;
82 const float_round_style numeric_limits<bool>::round_style;
85 const bool numeric_limits<char>::is_specialized;
86 const int numeric_limits<char>::digits;
87 const int numeric_limits<char>::digits10;
88 const bool numeric_limits<char>::is_signed;
89 const bool numeric_limits<char>::is_integer;
90 const bool numeric_limits<char>::is_exact;
91 const int numeric_limits<char>::radix;
92 const int numeric_limits<char>::min_exponent;
93 const int numeric_limits<char>::min_exponent10;
94 const int numeric_limits<char>::max_exponent;
95 const int numeric_limits<char>::max_exponent10;
96 const bool numeric_limits<char>::has_infinity;
97 const bool numeric_limits<char>::has_quiet_NaN;
98 const bool numeric_limits<char>::has_signaling_NaN;
99 const float_denorm_style numeric_limits<char>::has_denorm;
100 const bool numeric_limits<char>::has_denorm_loss;
101 const bool numeric_limits<char>::is_iec559;
102 const bool numeric_limits<char>::is_bounded;
103 const bool numeric_limits<char>::is_modulo;
104 const bool numeric_limits<char>::traps;
105 const bool numeric_limits<char>::tinyness_before;
106 const float_round_style numeric_limits<char>::round_style;
109 const bool numeric_limits<signed char>::is_specialized;
110 const int numeric_limits<signed char>::digits;
111 const int numeric_limits<signed char>::digits10;
112 const bool numeric_limits<signed char>::is_signed;
113 const bool numeric_limits<signed char>::is_integer;
114 const bool numeric_limits<signed char>::is_exact;
115 const int numeric_limits<signed char>::radix;
116 const int numeric_limits<signed char>::min_exponent;
117 const int numeric_limits<signed char>::min_exponent10;
118 const int numeric_limits<signed char>::max_exponent;
119 const int numeric_limits<signed char>::max_exponent10;
120 const bool numeric_limits<signed char>::has_infinity;
121 const bool numeric_limits<signed char>::has_quiet_NaN;
122 const bool numeric_limits<signed char>::has_signaling_NaN;
123 const float_denorm_style numeric_limits<signed char>::has_denorm;
124 const bool numeric_limits<signed char>::has_denorm_loss;
125 const bool numeric_limits<signed char>::is_iec559;
126 const bool numeric_limits<signed char>::is_bounded;
127 const bool numeric_limits<signed char>::is_modulo;
128 const bool numeric_limits<signed char>::traps;
129 const bool numeric_limits<signed char>::tinyness_before;
130 const float_round_style numeric_limits<signed char>::round_style;
133 const bool numeric_limits<unsigned char>::is_specialized;
134 const int numeric_limits<unsigned char>::digits;
135 const int numeric_limits<unsigned char>::digits10;
136 const bool numeric_limits<unsigned char>::is_signed;
137 const bool numeric_limits<unsigned char>::is_integer;
138 const bool numeric_limits<unsigned char>::is_exact;
139 const int numeric_limits<unsigned char>::radix;
140 const int numeric_limits<unsigned char>::min_exponent;
141 const int numeric_limits<unsigned char>::min_exponent10;
142 const int numeric_limits<unsigned char>::max_exponent;
143 const int numeric_limits<unsigned char>::max_exponent10;
144 const bool numeric_limits<unsigned char>::has_infinity;
145 const bool numeric_limits<unsigned char>::has_quiet_NaN;
146 const bool numeric_limits<unsigned char>::has_signaling_NaN;
147 const float_denorm_style numeric_limits<unsigned char>::has_denorm;
148 const bool numeric_limits<unsigned char>::has_denorm_loss;
149 const bool numeric_limits<unsigned char>::is_iec559;
150 const bool numeric_limits<unsigned char>::is_bounded;
151 const bool numeric_limits<unsigned char>::is_modulo;
152 const bool numeric_limits<unsigned char>::traps;
153 const bool numeric_limits<unsigned char>::tinyness_before;
154 const float_round_style numeric_limits<unsigned char>::round_style;
157 // This used to be problematic...
158 #ifdef _GLIBCXX_USE_WCHAR_T
159 const bool numeric_limits<wchar_t>::is_specialized;
160 const int numeric_limits<wchar_t>::digits;
161 const int numeric_limits<wchar_t>::digits10;
162 const bool numeric_limits<wchar_t>::is_signed;
163 const bool numeric_limits<wchar_t>::is_integer;
164 const bool numeric_limits<wchar_t>::is_exact;
165 const int numeric_limits<wchar_t>::radix;
166 const int numeric_limits<wchar_t>::min_exponent;
167 const int numeric_limits<wchar_t>::min_exponent10;
168 const int numeric_limits<wchar_t>::max_exponent;
169 const int numeric_limits<wchar_t>::max_exponent10;
170 const bool numeric_limits<wchar_t>::has_infinity;
171 const bool numeric_limits<wchar_t>::has_quiet_NaN;
172 const bool numeric_limits<wchar_t>::has_signaling_NaN;
173 const float_denorm_style numeric_limits<wchar_t>::has_denorm;
174 const bool numeric_limits<wchar_t>::has_denorm_loss;
175 const bool numeric_limits<wchar_t>::is_iec559;
176 const bool numeric_limits<wchar_t>::is_bounded;
177 const bool numeric_limits<wchar_t>::is_modulo;
178 const bool numeric_limits<wchar_t>::traps;
179 const bool numeric_limits<wchar_t>::tinyness_before;
180 const float_round_style numeric_limits<wchar_t>::round_style;
181 #endif // _GLIBCXX_USE_WCHAR_T
184 const bool numeric_limits<short>::is_specialized;
185 const int numeric_limits<short>::digits;
186 const int numeric_limits<short>::digits10;
187 const bool numeric_limits<short>::is_signed;
188 const bool numeric_limits<short>::is_integer;
189 const bool numeric_limits<short>::is_exact;
190 const int numeric_limits<short>::radix;
191 const int numeric_limits<short>::min_exponent;
192 const int numeric_limits<short>::min_exponent10;
193 const int numeric_limits<short>::max_exponent;
194 const int numeric_limits<short>::max_exponent10;
195 const bool numeric_limits<short>::has_infinity;
196 const bool numeric_limits<short>::has_quiet_NaN;
197 const bool numeric_limits<short>::has_signaling_NaN;
198 const float_denorm_style numeric_limits<short>::has_denorm;
199 const bool numeric_limits<short>::has_denorm_loss;
200 const bool numeric_limits<short>::is_iec559;
201 const bool numeric_limits<short>::is_bounded;
202 const bool numeric_limits<short>::is_modulo;
203 const bool numeric_limits<short>::traps;
204 const bool numeric_limits<short>::tinyness_before;
205 const float_round_style numeric_limits<short>::round_style;
208 const bool numeric_limits<unsigned short>::is_specialized;
209 const int numeric_limits<unsigned short>::digits;
210 const int numeric_limits<unsigned short>::digits10;
211 const bool numeric_limits<unsigned short>::is_signed;
212 const bool numeric_limits<unsigned short>::is_integer;
213 const bool numeric_limits<unsigned short>::is_exact;
214 const int numeric_limits<unsigned short>::radix;
215 const int numeric_limits<unsigned short>::min_exponent;
216 const int numeric_limits<unsigned short>::min_exponent10;
217 const int numeric_limits<unsigned short>::max_exponent;
218 const int numeric_limits<unsigned short>::max_exponent10;
219 const bool numeric_limits<unsigned short>::has_infinity;
220 const bool numeric_limits<unsigned short>::has_quiet_NaN;
221 const bool numeric_limits<unsigned short>::has_signaling_NaN;
222 const float_denorm_style numeric_limits<unsigned short>::has_denorm;
223 const bool numeric_limits<unsigned short>::has_denorm_loss;
224 const bool numeric_limits<unsigned short>::is_iec559;
225 const bool numeric_limits<unsigned short>::is_bounded;
226 const bool numeric_limits<unsigned short>::is_modulo;
227 const bool numeric_limits<unsigned short>::traps;
228 const bool numeric_limits<unsigned short>::tinyness_before;
229 const float_round_style numeric_limits<unsigned short>::round_style;
232 const bool numeric_limits<int>::is_specialized;
233 const int numeric_limits<int>::digits;
234 const int numeric_limits<int>::digits10;
235 const bool numeric_limits<int>::is_signed;
236 const bool numeric_limits<int>::is_integer;
237 const bool numeric_limits<int>::is_exact;
238 const int numeric_limits<int>::radix;
239 const int numeric_limits<int>::min_exponent;
240 const int numeric_limits<int>::min_exponent10;
241 const int numeric_limits<int>::max_exponent;
242 const int numeric_limits<int>::max_exponent10;
243 const bool numeric_limits<int>::has_infinity;
244 const bool numeric_limits<int>::has_quiet_NaN;
245 const bool numeric_limits<int>::has_signaling_NaN;
246 const float_denorm_style numeric_limits<int>::has_denorm;
247 const bool numeric_limits<int>::has_denorm_loss;
248 const bool numeric_limits<int>::is_iec559;
249 const bool numeric_limits<int>::is_bounded;
250 const bool numeric_limits<int>::is_modulo;
251 const bool numeric_limits<int>::traps;
252 const bool numeric_limits<int>::tinyness_before;
253 const float_round_style numeric_limits<int>::round_style;
256 const bool numeric_limits<unsigned int>::is_specialized;
257 const int numeric_limits<unsigned int>::digits;
258 const int numeric_limits<unsigned int>::digits10;
259 const bool numeric_limits<unsigned int>::is_signed;
260 const bool numeric_limits<unsigned int>::is_integer;
261 const bool numeric_limits<unsigned int>::is_exact;
262 const int numeric_limits<unsigned int>::radix;
263 const int numeric_limits<unsigned int>::min_exponent;
264 const int numeric_limits<unsigned int>::min_exponent10;
265 const int numeric_limits<unsigned int>::max_exponent;
266 const int numeric_limits<unsigned int>::max_exponent10;
267 const bool numeric_limits<unsigned int>::has_infinity;
268 const bool numeric_limits<unsigned int>::has_quiet_NaN;
269 const bool numeric_limits<unsigned int>::has_signaling_NaN;
270 const float_denorm_style numeric_limits<unsigned int>::has_denorm;
271 const bool numeric_limits<unsigned int>::has_denorm_loss;
272 const bool numeric_limits<unsigned int>::is_iec559;
273 const bool numeric_limits<unsigned int>::is_bounded;
274 const bool numeric_limits<unsigned int>::is_modulo;
275 const bool numeric_limits<unsigned int>::traps;
276 const bool numeric_limits<unsigned int>::tinyness_before;
277 const float_round_style numeric_limits<unsigned int>::round_style;
280 const bool numeric_limits<long>::is_specialized;
281 const int numeric_limits<long>::digits;
282 const int numeric_limits<long>::digits10;
283 const bool numeric_limits<long>::is_signed;
284 const bool numeric_limits<long>::is_integer;
285 const bool numeric_limits<long>::is_exact;
286 const int numeric_limits<long>::radix;
287 const int numeric_limits<long>::min_exponent;
288 const int numeric_limits<long>::min_exponent10;
289 const int numeric_limits<long>::max_exponent;
290 const int numeric_limits<long>::max_exponent10;
291 const bool numeric_limits<long>::has_infinity;
292 const bool numeric_limits<long>::has_quiet_NaN;
293 const bool numeric_limits<long>::has_signaling_NaN;
294 const float_denorm_style numeric_limits<long>::has_denorm;
295 const bool numeric_limits<long>::has_denorm_loss;
296 const bool numeric_limits<long>::is_iec559;
297 const bool numeric_limits<long>::is_bounded;
298 const bool numeric_limits<long>::is_modulo;
299 const bool numeric_limits<long>::traps;
300 const bool numeric_limits<long>::tinyness_before;
301 const float_round_style numeric_limits<long>::round_style;
304 const bool numeric_limits<unsigned long>::is_specialized;
305 const int numeric_limits<unsigned long>::digits;
306 const int numeric_limits<unsigned long>::digits10;
307 const bool numeric_limits<unsigned long>::is_signed;
308 const bool numeric_limits<unsigned long>::is_integer;
309 const bool numeric_limits<unsigned long>::is_exact;
310 const int numeric_limits<unsigned long>::radix;
311 const int numeric_limits<unsigned long>::min_exponent;
312 const int numeric_limits<unsigned long>::min_exponent10;
313 const int numeric_limits<unsigned long>::max_exponent;
314 const int numeric_limits<unsigned long>::max_exponent10;
315 const bool numeric_limits<unsigned long>::has_infinity;
316 const bool numeric_limits<unsigned long>::has_quiet_NaN;
317 const bool numeric_limits<unsigned long>::has_signaling_NaN;
318 const float_denorm_style numeric_limits<unsigned long>::has_denorm;
319 const bool numeric_limits<unsigned long>::has_denorm_loss;
320 const bool numeric_limits<unsigned long>::is_iec559;
321 const bool numeric_limits<unsigned long>::is_bounded;
322 const bool numeric_limits<unsigned long>::is_modulo;
323 const bool numeric_limits<unsigned long>::traps;
324 const bool numeric_limits<unsigned long>::tinyness_before;
325 const float_round_style numeric_limits<unsigned long>::round_style;
327 // NOTA BENE: long long is an extension
328 const bool numeric_limits<long long>::is_specialized;
329 const int numeric_limits<long long>::digits;
330 const int numeric_limits<long long>::digits10;
331 const bool numeric_limits<long long>::is_signed;
332 const bool numeric_limits<long long>::is_integer;
333 const bool numeric_limits<long long>::is_exact;
334 const int numeric_limits<long long>::radix;
335 const int numeric_limits<long long>::min_exponent;
336 const int numeric_limits<long long>::min_exponent10;
337 const int numeric_limits<long long>::max_exponent;
338 const int numeric_limits<long long>::max_exponent10;
339 const bool numeric_limits<long long>::has_infinity;
340 const bool numeric_limits<long long>::has_quiet_NaN;
341 const bool numeric_limits<long long>::has_signaling_NaN;
342 const float_denorm_style numeric_limits<long long>::has_denorm;
343 const bool numeric_limits<long long>::has_denorm_loss;
344 const bool numeric_limits<long long>::is_iec559;
345 const bool numeric_limits<long long>::is_bounded;
346 const bool numeric_limits<long long>::is_modulo;
347 const bool numeric_limits<long long>::traps;
348 const bool numeric_limits<long long>::tinyness_before;
349 const float_round_style numeric_limits<long long>::round_style;
351 const bool numeric_limits<unsigned long long>::is_specialized;
352 const int numeric_limits<unsigned long long>::digits;
353 const int numeric_limits<unsigned long long>::digits10;
354 const bool numeric_limits<unsigned long long>::is_signed;
355 const bool numeric_limits<unsigned long long>::is_integer;
356 const bool numeric_limits<unsigned long long>::is_exact;
357 const int numeric_limits<unsigned long long>::radix;
358 const int numeric_limits<unsigned long long>::min_exponent;
359 const int numeric_limits<unsigned long long>::min_exponent10;
360 const int numeric_limits<unsigned long long>::max_exponent;
361 const int numeric_limits<unsigned long long>::max_exponent10;
362 const bool numeric_limits<unsigned long long>::has_infinity;
363 const bool numeric_limits<unsigned long long>::has_quiet_NaN;
364 const bool numeric_limits<unsigned long long>::has_signaling_NaN;
365 const float_denorm_style numeric_limits<unsigned long long>::has_denorm;
366 const bool numeric_limits<unsigned long long>::has_denorm_loss;
367 const bool numeric_limits<unsigned long long>::is_iec559;
368 const bool numeric_limits<unsigned long long>::is_bounded;
369 const bool numeric_limits<unsigned long long>::is_modulo;
370 const bool numeric_limits<unsigned long long>::traps;
371 const bool numeric_limits<unsigned long long>::tinyness_before;
372 const float_round_style numeric_limits<unsigned long long>::round_style;
375 const bool numeric_limits<float>::is_specialized;
376 const int numeric_limits<float>::digits;
377 const int numeric_limits<float>::digits10;
378 const bool numeric_limits<float>::is_signed;
379 const bool numeric_limits<float>::is_integer;
380 const bool numeric_limits<float>::is_exact;
381 const int numeric_limits<float>::radix;
382 const int numeric_limits<float>::min_exponent;
383 const int numeric_limits<float>::min_exponent10;
384 const int numeric_limits<float>::max_exponent;
385 const int numeric_limits<float>::max_exponent10;
386 const bool numeric_limits<float>::has_infinity;
387 const bool numeric_limits<float>::has_quiet_NaN;
388 const bool numeric_limits<float>::has_signaling_NaN;
389 const float_denorm_style numeric_limits<float>::has_denorm;
390 const bool numeric_limits<float>::has_denorm_loss;
391 const bool numeric_limits<float>::is_iec559;
392 const bool numeric_limits<float>::is_bounded;
393 const bool numeric_limits<float>::is_modulo;
394 const bool numeric_limits<float>::traps;
395 const bool numeric_limits<float>::tinyness_before;
396 const float_round_style numeric_limits<float>::round_style;
399 const bool numeric_limits<double>::is_specialized;
400 const int numeric_limits<double>::digits;
401 const int numeric_limits<double>::digits10;
402 const bool numeric_limits<double>::is_signed;
403 const bool numeric_limits<double>::is_integer;
404 const bool numeric_limits<double>::is_exact;
405 const int numeric_limits<double>::radix;
406 const int numeric_limits<double>::min_exponent;
407 const int numeric_limits<double>::min_exponent10;
408 const int numeric_limits<double>::max_exponent;
409 const int numeric_limits<double>::max_exponent10;
410 const bool numeric_limits<double>::has_infinity;
411 const bool numeric_limits<double>::has_quiet_NaN;
412 const bool numeric_limits<double>::has_signaling_NaN;
413 const float_denorm_style numeric_limits<double>::has_denorm;
414 const bool numeric_limits<double>::has_denorm_loss;
415 const bool numeric_limits<double>::is_iec559;
416 const bool numeric_limits<double>::is_bounded;
417 const bool numeric_limits<double>::is_modulo;
418 const bool numeric_limits<double>::traps;
419 const bool numeric_limits<double>::tinyness_before;
420 const float_round_style numeric_limits<double>::round_style;
423 const bool numeric_limits<long double>::is_specialized;
424 const int numeric_limits<long double>::digits;
425 const int numeric_limits<long double>::digits10;
426 const bool numeric_limits<long double>::is_signed;
427 const bool numeric_limits<long double>::is_integer;
428 const bool numeric_limits<long double>::is_exact;
429 const int numeric_limits<long double>::radix;
430 const int numeric_limits<long double>::min_exponent;
431 const int numeric_limits<long double>::min_exponent10;
432 const int numeric_limits<long double>::max_exponent;
433 const int numeric_limits<long double>::max_exponent10;
434 const bool numeric_limits<long double>::has_infinity;
435 const bool numeric_limits<long double>::has_quiet_NaN;
436 const bool numeric_limits<long double>::has_signaling_NaN;
437 const float_denorm_style numeric_limits<long double>::has_denorm;
438 const bool numeric_limits<long double>::has_denorm_loss;
439 const bool numeric_limits<long double>::is_iec559;
440 const bool numeric_limits<long double>::is_bounded;
441 const bool numeric_limits<long double>::is_modulo;
442 const bool numeric_limits<long double>::traps;
443 const bool numeric_limits<long double>::tinyness_before;
444 const float_round_style numeric_limits<long double>::round_style;
446 _GLIBCXX_END_NAMESPACE
448 // XXX GLIBCXX_ABI Deprecated
449 #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
451 #define _GLIBCXX_NUM_LIM_COMPAT(type, member, len) \
452 extern "C" type _ZNSt14numeric_limitsIeE ## len ## member ## E \
453 __attribute__ ((alias ("_ZNSt14numeric_limitsIdE" #len #member "E")))
454 _GLIBCXX_NUM_LIM_COMPAT (bool, is_specialized, 14);
455 _GLIBCXX_NUM_LIM_COMPAT (int, digits, 6);
456 _GLIBCXX_NUM_LIM_COMPAT (int, digits10, 8);
457 _GLIBCXX_NUM_LIM_COMPAT (bool, is_signed, 9);
458 _GLIBCXX_NUM_LIM_COMPAT (bool, is_integer, 10);
459 _GLIBCXX_NUM_LIM_COMPAT (bool, is_exact, 8);
460 _GLIBCXX_NUM_LIM_COMPAT (int, radix, 5);
461 _GLIBCXX_NUM_LIM_COMPAT (int, min_exponent, 12);
462 _GLIBCXX_NUM_LIM_COMPAT (int, min_exponent10, 14);
463 _GLIBCXX_NUM_LIM_COMPAT (int, max_exponent, 12);
464 _GLIBCXX_NUM_LIM_COMPAT (int, max_exponent10, 14);
465 _GLIBCXX_NUM_LIM_COMPAT (bool, has_infinity, 12);
466 _GLIBCXX_NUM_LIM_COMPAT (bool, has_quiet_NaN, 13);
467 _GLIBCXX_NUM_LIM_COMPAT (bool, has_signaling_NaN, 17);
468 _GLIBCXX_NUM_LIM_COMPAT (std::float_denorm_style, has_denorm, 10);
469 _GLIBCXX_NUM_LIM_COMPAT (bool, has_denorm_loss, 15);
470 _GLIBCXX_NUM_LIM_COMPAT (bool, is_iec559, 9);
471 _GLIBCXX_NUM_LIM_COMPAT (bool, is_bounded, 10);
472 _GLIBCXX_NUM_LIM_COMPAT (bool, is_modulo, 9);
473 _GLIBCXX_NUM_LIM_COMPAT (bool, traps, 5);
474 _GLIBCXX_NUM_LIM_COMPAT (bool, tinyness_before, 15);
475 _GLIBCXX_NUM_LIM_COMPAT (std::float_round_style, round_style, 11);
477 #endif // _GLIBCXX_LONG_DOUBLE_COMPAT