1*e4b17023SJohn Marino // Static data members of -*- C++ -*- numeric_limits classes 2*e4b17023SJohn Marino 3*e4b17023SJohn Marino // Copyright (C) 1999, 2001, 2002, 2005, 2006, 2009, 2010, 2011 4*e4b17023SJohn Marino // Free Software Foundation, Inc. 5*e4b17023SJohn Marino // 6*e4b17023SJohn Marino // This file is part of the GNU ISO C++ Library. This library is free 7*e4b17023SJohn Marino // software; you can redistribute it and/or modify it under the 8*e4b17023SJohn Marino // terms of the GNU General Public License as published by the 9*e4b17023SJohn Marino // Free Software Foundation; either version 3, or (at your option) 10*e4b17023SJohn Marino // any later version. 11*e4b17023SJohn Marino 12*e4b17023SJohn Marino // This library is distributed in the hope that it will be useful, 13*e4b17023SJohn Marino // but WITHOUT ANY WARRANTY; without even the implied warranty of 14*e4b17023SJohn Marino // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*e4b17023SJohn Marino // GNU General Public License for more details. 16*e4b17023SJohn Marino 17*e4b17023SJohn Marino // Under Section 7 of GPL version 3, you are granted additional 18*e4b17023SJohn Marino // permissions described in the GCC Runtime Library Exception, version 19*e4b17023SJohn Marino // 3.1, as published by the Free Software Foundation. 20*e4b17023SJohn Marino 21*e4b17023SJohn Marino // You should have received a copy of the GNU General Public License and 22*e4b17023SJohn Marino // a copy of the GCC Runtime Library Exception along with this program; 23*e4b17023SJohn Marino // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 24*e4b17023SJohn Marino // <http://www.gnu.org/licenses/>. 25*e4b17023SJohn Marino 26*e4b17023SJohn Marino // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr> 27*e4b17023SJohn Marino 28*e4b17023SJohn Marino // 29*e4b17023SJohn Marino // ISO C++ 14882:1998 30*e4b17023SJohn Marino // 18.2.1 31*e4b17023SJohn Marino // 32*e4b17023SJohn Marino 33*e4b17023SJohn Marino #include <limits> 34*e4b17023SJohn Marino 35*e4b17023SJohn Marino namespace std _GLIBCXX_VISIBILITY(default) 36*e4b17023SJohn Marino { 37*e4b17023SJohn Marino _GLIBCXX_BEGIN_NAMESPACE_VERSION 38*e4b17023SJohn Marino 39*e4b17023SJohn Marino #define const _GLIBCXX_USE_CONSTEXPR 40*e4b17023SJohn Marino 41*e4b17023SJohn Marino const bool __numeric_limits_base::is_specialized; 42*e4b17023SJohn Marino const int __numeric_limits_base::digits; 43*e4b17023SJohn Marino const int __numeric_limits_base::digits10; 44*e4b17023SJohn Marino const int __numeric_limits_base::max_digits10; 45*e4b17023SJohn Marino const bool __numeric_limits_base::is_signed; 46*e4b17023SJohn Marino const bool __numeric_limits_base::is_integer; 47*e4b17023SJohn Marino const bool __numeric_limits_base::is_exact; 48*e4b17023SJohn Marino const int __numeric_limits_base::radix; 49*e4b17023SJohn Marino const int __numeric_limits_base::min_exponent; 50*e4b17023SJohn Marino const int __numeric_limits_base::min_exponent10; 51*e4b17023SJohn Marino const int __numeric_limits_base::max_exponent; 52*e4b17023SJohn Marino const int __numeric_limits_base::max_exponent10; 53*e4b17023SJohn Marino const bool __numeric_limits_base::has_infinity; 54*e4b17023SJohn Marino const bool __numeric_limits_base::has_quiet_NaN; 55*e4b17023SJohn Marino const bool __numeric_limits_base::has_signaling_NaN; 56*e4b17023SJohn Marino const float_denorm_style __numeric_limits_base::has_denorm; 57*e4b17023SJohn Marino const bool __numeric_limits_base::has_denorm_loss; 58*e4b17023SJohn Marino const bool __numeric_limits_base::is_iec559; 59*e4b17023SJohn Marino const bool __numeric_limits_base::is_bounded; 60*e4b17023SJohn Marino const bool __numeric_limits_base::is_modulo; 61*e4b17023SJohn Marino const bool __numeric_limits_base::traps; 62*e4b17023SJohn Marino const bool __numeric_limits_base::tinyness_before; 63*e4b17023SJohn Marino const float_round_style __numeric_limits_base::round_style; 64*e4b17023SJohn Marino 65*e4b17023SJohn Marino // bool 66*e4b17023SJohn Marino const bool numeric_limits<bool>::is_specialized; 67*e4b17023SJohn Marino const int numeric_limits<bool>::digits; 68*e4b17023SJohn Marino const int numeric_limits<bool>::digits10; 69*e4b17023SJohn Marino const int numeric_limits<bool>::max_digits10; 70*e4b17023SJohn Marino const bool numeric_limits<bool>::is_signed; 71*e4b17023SJohn Marino const bool numeric_limits<bool>::is_integer; 72*e4b17023SJohn Marino const bool numeric_limits<bool>::is_exact; 73*e4b17023SJohn Marino const int numeric_limits<bool>::radix; 74*e4b17023SJohn Marino const int numeric_limits<bool>::min_exponent; 75*e4b17023SJohn Marino const int numeric_limits<bool>::min_exponent10; 76*e4b17023SJohn Marino const int numeric_limits<bool>::max_exponent; 77*e4b17023SJohn Marino const int numeric_limits<bool>::max_exponent10; 78*e4b17023SJohn Marino const bool numeric_limits<bool>::has_infinity; 79*e4b17023SJohn Marino const bool numeric_limits<bool>::has_quiet_NaN; 80*e4b17023SJohn Marino const bool numeric_limits<bool>::has_signaling_NaN; 81*e4b17023SJohn Marino const float_denorm_style numeric_limits<bool>::has_denorm; 82*e4b17023SJohn Marino const bool numeric_limits<bool>::has_denorm_loss; 83*e4b17023SJohn Marino const bool numeric_limits<bool>::is_iec559; 84*e4b17023SJohn Marino const bool numeric_limits<bool>::is_bounded; 85*e4b17023SJohn Marino const bool numeric_limits<bool>::is_modulo; 86*e4b17023SJohn Marino const bool numeric_limits<bool>::traps; 87*e4b17023SJohn Marino const bool numeric_limits<bool>::tinyness_before; 88*e4b17023SJohn Marino const float_round_style numeric_limits<bool>::round_style; 89*e4b17023SJohn Marino 90*e4b17023SJohn Marino // char 91*e4b17023SJohn Marino const bool numeric_limits<char>::is_specialized; 92*e4b17023SJohn Marino const int numeric_limits<char>::digits; 93*e4b17023SJohn Marino const int numeric_limits<char>::digits10; 94*e4b17023SJohn Marino const int numeric_limits<char>::max_digits10; 95*e4b17023SJohn Marino const bool numeric_limits<char>::is_signed; 96*e4b17023SJohn Marino const bool numeric_limits<char>::is_integer; 97*e4b17023SJohn Marino const bool numeric_limits<char>::is_exact; 98*e4b17023SJohn Marino const int numeric_limits<char>::radix; 99*e4b17023SJohn Marino const int numeric_limits<char>::min_exponent; 100*e4b17023SJohn Marino const int numeric_limits<char>::min_exponent10; 101*e4b17023SJohn Marino const int numeric_limits<char>::max_exponent; 102*e4b17023SJohn Marino const int numeric_limits<char>::max_exponent10; 103*e4b17023SJohn Marino const bool numeric_limits<char>::has_infinity; 104*e4b17023SJohn Marino const bool numeric_limits<char>::has_quiet_NaN; 105*e4b17023SJohn Marino const bool numeric_limits<char>::has_signaling_NaN; 106*e4b17023SJohn Marino const float_denorm_style numeric_limits<char>::has_denorm; 107*e4b17023SJohn Marino const bool numeric_limits<char>::has_denorm_loss; 108*e4b17023SJohn Marino const bool numeric_limits<char>::is_iec559; 109*e4b17023SJohn Marino const bool numeric_limits<char>::is_bounded; 110*e4b17023SJohn Marino const bool numeric_limits<char>::is_modulo; 111*e4b17023SJohn Marino const bool numeric_limits<char>::traps; 112*e4b17023SJohn Marino const bool numeric_limits<char>::tinyness_before; 113*e4b17023SJohn Marino const float_round_style numeric_limits<char>::round_style; 114*e4b17023SJohn Marino 115*e4b17023SJohn Marino // signed char 116*e4b17023SJohn Marino const bool numeric_limits<signed char>::is_specialized; 117*e4b17023SJohn Marino const int numeric_limits<signed char>::digits; 118*e4b17023SJohn Marino const int numeric_limits<signed char>::digits10; 119*e4b17023SJohn Marino const int numeric_limits<signed char>::max_digits10; 120*e4b17023SJohn Marino const bool numeric_limits<signed char>::is_signed; 121*e4b17023SJohn Marino const bool numeric_limits<signed char>::is_integer; 122*e4b17023SJohn Marino const bool numeric_limits<signed char>::is_exact; 123*e4b17023SJohn Marino const int numeric_limits<signed char>::radix; 124*e4b17023SJohn Marino const int numeric_limits<signed char>::min_exponent; 125*e4b17023SJohn Marino const int numeric_limits<signed char>::min_exponent10; 126*e4b17023SJohn Marino const int numeric_limits<signed char>::max_exponent; 127*e4b17023SJohn Marino const int numeric_limits<signed char>::max_exponent10; 128*e4b17023SJohn Marino const bool numeric_limits<signed char>::has_infinity; 129*e4b17023SJohn Marino const bool numeric_limits<signed char>::has_quiet_NaN; 130*e4b17023SJohn Marino const bool numeric_limits<signed char>::has_signaling_NaN; 131*e4b17023SJohn Marino const float_denorm_style numeric_limits<signed char>::has_denorm; 132*e4b17023SJohn Marino const bool numeric_limits<signed char>::has_denorm_loss; 133*e4b17023SJohn Marino const bool numeric_limits<signed char>::is_iec559; 134*e4b17023SJohn Marino const bool numeric_limits<signed char>::is_bounded; 135*e4b17023SJohn Marino const bool numeric_limits<signed char>::is_modulo; 136*e4b17023SJohn Marino const bool numeric_limits<signed char>::traps; 137*e4b17023SJohn Marino const bool numeric_limits<signed char>::tinyness_before; 138*e4b17023SJohn Marino const float_round_style numeric_limits<signed char>::round_style; 139*e4b17023SJohn Marino 140*e4b17023SJohn Marino // unsigned char 141*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::is_specialized; 142*e4b17023SJohn Marino const int numeric_limits<unsigned char>::digits; 143*e4b17023SJohn Marino const int numeric_limits<unsigned char>::digits10; 144*e4b17023SJohn Marino const int numeric_limits<unsigned char>::max_digits10; 145*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::is_signed; 146*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::is_integer; 147*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::is_exact; 148*e4b17023SJohn Marino const int numeric_limits<unsigned char>::radix; 149*e4b17023SJohn Marino const int numeric_limits<unsigned char>::min_exponent; 150*e4b17023SJohn Marino const int numeric_limits<unsigned char>::min_exponent10; 151*e4b17023SJohn Marino const int numeric_limits<unsigned char>::max_exponent; 152*e4b17023SJohn Marino const int numeric_limits<unsigned char>::max_exponent10; 153*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::has_infinity; 154*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::has_quiet_NaN; 155*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::has_signaling_NaN; 156*e4b17023SJohn Marino const float_denorm_style numeric_limits<unsigned char>::has_denorm; 157*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::has_denorm_loss; 158*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::is_iec559; 159*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::is_bounded; 160*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::is_modulo; 161*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::traps; 162*e4b17023SJohn Marino const bool numeric_limits<unsigned char>::tinyness_before; 163*e4b17023SJohn Marino const float_round_style numeric_limits<unsigned char>::round_style; 164*e4b17023SJohn Marino 165*e4b17023SJohn Marino // wchar_t 166*e4b17023SJohn Marino // This used to be problematic... 167*e4b17023SJohn Marino #ifdef _GLIBCXX_USE_WCHAR_T 168*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::is_specialized; 169*e4b17023SJohn Marino const int numeric_limits<wchar_t>::digits; 170*e4b17023SJohn Marino const int numeric_limits<wchar_t>::digits10; 171*e4b17023SJohn Marino const int numeric_limits<wchar_t>::max_digits10; 172*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::is_signed; 173*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::is_integer; 174*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::is_exact; 175*e4b17023SJohn Marino const int numeric_limits<wchar_t>::radix; 176*e4b17023SJohn Marino const int numeric_limits<wchar_t>::min_exponent; 177*e4b17023SJohn Marino const int numeric_limits<wchar_t>::min_exponent10; 178*e4b17023SJohn Marino const int numeric_limits<wchar_t>::max_exponent; 179*e4b17023SJohn Marino const int numeric_limits<wchar_t>::max_exponent10; 180*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::has_infinity; 181*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::has_quiet_NaN; 182*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::has_signaling_NaN; 183*e4b17023SJohn Marino const float_denorm_style numeric_limits<wchar_t>::has_denorm; 184*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::has_denorm_loss; 185*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::is_iec559; 186*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::is_bounded; 187*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::is_modulo; 188*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::traps; 189*e4b17023SJohn Marino const bool numeric_limits<wchar_t>::tinyness_before; 190*e4b17023SJohn Marino const float_round_style numeric_limits<wchar_t>::round_style; 191*e4b17023SJohn Marino #endif // _GLIBCXX_USE_WCHAR_T 192*e4b17023SJohn Marino 193*e4b17023SJohn Marino // short 194*e4b17023SJohn Marino const bool numeric_limits<short>::is_specialized; 195*e4b17023SJohn Marino const int numeric_limits<short>::digits; 196*e4b17023SJohn Marino const int numeric_limits<short>::digits10; 197*e4b17023SJohn Marino const int numeric_limits<short>::max_digits10; 198*e4b17023SJohn Marino const bool numeric_limits<short>::is_signed; 199*e4b17023SJohn Marino const bool numeric_limits<short>::is_integer; 200*e4b17023SJohn Marino const bool numeric_limits<short>::is_exact; 201*e4b17023SJohn Marino const int numeric_limits<short>::radix; 202*e4b17023SJohn Marino const int numeric_limits<short>::min_exponent; 203*e4b17023SJohn Marino const int numeric_limits<short>::min_exponent10; 204*e4b17023SJohn Marino const int numeric_limits<short>::max_exponent; 205*e4b17023SJohn Marino const int numeric_limits<short>::max_exponent10; 206*e4b17023SJohn Marino const bool numeric_limits<short>::has_infinity; 207*e4b17023SJohn Marino const bool numeric_limits<short>::has_quiet_NaN; 208*e4b17023SJohn Marino const bool numeric_limits<short>::has_signaling_NaN; 209*e4b17023SJohn Marino const float_denorm_style numeric_limits<short>::has_denorm; 210*e4b17023SJohn Marino const bool numeric_limits<short>::has_denorm_loss; 211*e4b17023SJohn Marino const bool numeric_limits<short>::is_iec559; 212*e4b17023SJohn Marino const bool numeric_limits<short>::is_bounded; 213*e4b17023SJohn Marino const bool numeric_limits<short>::is_modulo; 214*e4b17023SJohn Marino const bool numeric_limits<short>::traps; 215*e4b17023SJohn Marino const bool numeric_limits<short>::tinyness_before; 216*e4b17023SJohn Marino const float_round_style numeric_limits<short>::round_style; 217*e4b17023SJohn Marino 218*e4b17023SJohn Marino // unsigned short 219*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::is_specialized; 220*e4b17023SJohn Marino const int numeric_limits<unsigned short>::digits; 221*e4b17023SJohn Marino const int numeric_limits<unsigned short>::digits10; 222*e4b17023SJohn Marino const int numeric_limits<unsigned short>::max_digits10; 223*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::is_signed; 224*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::is_integer; 225*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::is_exact; 226*e4b17023SJohn Marino const int numeric_limits<unsigned short>::radix; 227*e4b17023SJohn Marino const int numeric_limits<unsigned short>::min_exponent; 228*e4b17023SJohn Marino const int numeric_limits<unsigned short>::min_exponent10; 229*e4b17023SJohn Marino const int numeric_limits<unsigned short>::max_exponent; 230*e4b17023SJohn Marino const int numeric_limits<unsigned short>::max_exponent10; 231*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::has_infinity; 232*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::has_quiet_NaN; 233*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::has_signaling_NaN; 234*e4b17023SJohn Marino const float_denorm_style numeric_limits<unsigned short>::has_denorm; 235*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::has_denorm_loss; 236*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::is_iec559; 237*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::is_bounded; 238*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::is_modulo; 239*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::traps; 240*e4b17023SJohn Marino const bool numeric_limits<unsigned short>::tinyness_before; 241*e4b17023SJohn Marino const float_round_style numeric_limits<unsigned short>::round_style; 242*e4b17023SJohn Marino 243*e4b17023SJohn Marino // int 244*e4b17023SJohn Marino const bool numeric_limits<int>::is_specialized; 245*e4b17023SJohn Marino const int numeric_limits<int>::digits; 246*e4b17023SJohn Marino const int numeric_limits<int>::digits10; 247*e4b17023SJohn Marino const int numeric_limits<int>::max_digits10; 248*e4b17023SJohn Marino const bool numeric_limits<int>::is_signed; 249*e4b17023SJohn Marino const bool numeric_limits<int>::is_integer; 250*e4b17023SJohn Marino const bool numeric_limits<int>::is_exact; 251*e4b17023SJohn Marino const int numeric_limits<int>::radix; 252*e4b17023SJohn Marino const int numeric_limits<int>::min_exponent; 253*e4b17023SJohn Marino const int numeric_limits<int>::min_exponent10; 254*e4b17023SJohn Marino const int numeric_limits<int>::max_exponent; 255*e4b17023SJohn Marino const int numeric_limits<int>::max_exponent10; 256*e4b17023SJohn Marino const bool numeric_limits<int>::has_infinity; 257*e4b17023SJohn Marino const bool numeric_limits<int>::has_quiet_NaN; 258*e4b17023SJohn Marino const bool numeric_limits<int>::has_signaling_NaN; 259*e4b17023SJohn Marino const float_denorm_style numeric_limits<int>::has_denorm; 260*e4b17023SJohn Marino const bool numeric_limits<int>::has_denorm_loss; 261*e4b17023SJohn Marino const bool numeric_limits<int>::is_iec559; 262*e4b17023SJohn Marino const bool numeric_limits<int>::is_bounded; 263*e4b17023SJohn Marino const bool numeric_limits<int>::is_modulo; 264*e4b17023SJohn Marino const bool numeric_limits<int>::traps; 265*e4b17023SJohn Marino const bool numeric_limits<int>::tinyness_before; 266*e4b17023SJohn Marino const float_round_style numeric_limits<int>::round_style; 267*e4b17023SJohn Marino 268*e4b17023SJohn Marino // unsigned int 269*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::is_specialized; 270*e4b17023SJohn Marino const int numeric_limits<unsigned int>::digits; 271*e4b17023SJohn Marino const int numeric_limits<unsigned int>::digits10; 272*e4b17023SJohn Marino const int numeric_limits<unsigned int>::max_digits10; 273*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::is_signed; 274*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::is_integer; 275*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::is_exact; 276*e4b17023SJohn Marino const int numeric_limits<unsigned int>::radix; 277*e4b17023SJohn Marino const int numeric_limits<unsigned int>::min_exponent; 278*e4b17023SJohn Marino const int numeric_limits<unsigned int>::min_exponent10; 279*e4b17023SJohn Marino const int numeric_limits<unsigned int>::max_exponent; 280*e4b17023SJohn Marino const int numeric_limits<unsigned int>::max_exponent10; 281*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::has_infinity; 282*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::has_quiet_NaN; 283*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::has_signaling_NaN; 284*e4b17023SJohn Marino const float_denorm_style numeric_limits<unsigned int>::has_denorm; 285*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::has_denorm_loss; 286*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::is_iec559; 287*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::is_bounded; 288*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::is_modulo; 289*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::traps; 290*e4b17023SJohn Marino const bool numeric_limits<unsigned int>::tinyness_before; 291*e4b17023SJohn Marino const float_round_style numeric_limits<unsigned int>::round_style; 292*e4b17023SJohn Marino 293*e4b17023SJohn Marino // long 294*e4b17023SJohn Marino const bool numeric_limits<long>::is_specialized; 295*e4b17023SJohn Marino const int numeric_limits<long>::digits; 296*e4b17023SJohn Marino const int numeric_limits<long>::digits10; 297*e4b17023SJohn Marino const int numeric_limits<long>::max_digits10; 298*e4b17023SJohn Marino const bool numeric_limits<long>::is_signed; 299*e4b17023SJohn Marino const bool numeric_limits<long>::is_integer; 300*e4b17023SJohn Marino const bool numeric_limits<long>::is_exact; 301*e4b17023SJohn Marino const int numeric_limits<long>::radix; 302*e4b17023SJohn Marino const int numeric_limits<long>::min_exponent; 303*e4b17023SJohn Marino const int numeric_limits<long>::min_exponent10; 304*e4b17023SJohn Marino const int numeric_limits<long>::max_exponent; 305*e4b17023SJohn Marino const int numeric_limits<long>::max_exponent10; 306*e4b17023SJohn Marino const bool numeric_limits<long>::has_infinity; 307*e4b17023SJohn Marino const bool numeric_limits<long>::has_quiet_NaN; 308*e4b17023SJohn Marino const bool numeric_limits<long>::has_signaling_NaN; 309*e4b17023SJohn Marino const float_denorm_style numeric_limits<long>::has_denorm; 310*e4b17023SJohn Marino const bool numeric_limits<long>::has_denorm_loss; 311*e4b17023SJohn Marino const bool numeric_limits<long>::is_iec559; 312*e4b17023SJohn Marino const bool numeric_limits<long>::is_bounded; 313*e4b17023SJohn Marino const bool numeric_limits<long>::is_modulo; 314*e4b17023SJohn Marino const bool numeric_limits<long>::traps; 315*e4b17023SJohn Marino const bool numeric_limits<long>::tinyness_before; 316*e4b17023SJohn Marino const float_round_style numeric_limits<long>::round_style; 317*e4b17023SJohn Marino 318*e4b17023SJohn Marino // unsigned long 319*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::is_specialized; 320*e4b17023SJohn Marino const int numeric_limits<unsigned long>::digits; 321*e4b17023SJohn Marino const int numeric_limits<unsigned long>::digits10; 322*e4b17023SJohn Marino const int numeric_limits<unsigned long>::max_digits10; 323*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::is_signed; 324*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::is_integer; 325*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::is_exact; 326*e4b17023SJohn Marino const int numeric_limits<unsigned long>::radix; 327*e4b17023SJohn Marino const int numeric_limits<unsigned long>::min_exponent; 328*e4b17023SJohn Marino const int numeric_limits<unsigned long>::min_exponent10; 329*e4b17023SJohn Marino const int numeric_limits<unsigned long>::max_exponent; 330*e4b17023SJohn Marino const int numeric_limits<unsigned long>::max_exponent10; 331*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::has_infinity; 332*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::has_quiet_NaN; 333*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::has_signaling_NaN; 334*e4b17023SJohn Marino const float_denorm_style numeric_limits<unsigned long>::has_denorm; 335*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::has_denorm_loss; 336*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::is_iec559; 337*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::is_bounded; 338*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::is_modulo; 339*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::traps; 340*e4b17023SJohn Marino const bool numeric_limits<unsigned long>::tinyness_before; 341*e4b17023SJohn Marino const float_round_style numeric_limits<unsigned long>::round_style; 342*e4b17023SJohn Marino 343*e4b17023SJohn Marino // NOTA BENE: long long is an extension 344*e4b17023SJohn Marino const bool numeric_limits<long long>::is_specialized; 345*e4b17023SJohn Marino const int numeric_limits<long long>::digits; 346*e4b17023SJohn Marino const int numeric_limits<long long>::digits10; 347*e4b17023SJohn Marino const int numeric_limits<long long>::max_digits10; 348*e4b17023SJohn Marino const bool numeric_limits<long long>::is_signed; 349*e4b17023SJohn Marino const bool numeric_limits<long long>::is_integer; 350*e4b17023SJohn Marino const bool numeric_limits<long long>::is_exact; 351*e4b17023SJohn Marino const int numeric_limits<long long>::radix; 352*e4b17023SJohn Marino const int numeric_limits<long long>::min_exponent; 353*e4b17023SJohn Marino const int numeric_limits<long long>::min_exponent10; 354*e4b17023SJohn Marino const int numeric_limits<long long>::max_exponent; 355*e4b17023SJohn Marino const int numeric_limits<long long>::max_exponent10; 356*e4b17023SJohn Marino const bool numeric_limits<long long>::has_infinity; 357*e4b17023SJohn Marino const bool numeric_limits<long long>::has_quiet_NaN; 358*e4b17023SJohn Marino const bool numeric_limits<long long>::has_signaling_NaN; 359*e4b17023SJohn Marino const float_denorm_style numeric_limits<long long>::has_denorm; 360*e4b17023SJohn Marino const bool numeric_limits<long long>::has_denorm_loss; 361*e4b17023SJohn Marino const bool numeric_limits<long long>::is_iec559; 362*e4b17023SJohn Marino const bool numeric_limits<long long>::is_bounded; 363*e4b17023SJohn Marino const bool numeric_limits<long long>::is_modulo; 364*e4b17023SJohn Marino const bool numeric_limits<long long>::traps; 365*e4b17023SJohn Marino const bool numeric_limits<long long>::tinyness_before; 366*e4b17023SJohn Marino const float_round_style numeric_limits<long long>::round_style; 367*e4b17023SJohn Marino 368*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::is_specialized; 369*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::digits; 370*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::digits10; 371*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::max_digits10; 372*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::is_signed; 373*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::is_integer; 374*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::is_exact; 375*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::radix; 376*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::min_exponent; 377*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::min_exponent10; 378*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::max_exponent; 379*e4b17023SJohn Marino const int numeric_limits<unsigned long long>::max_exponent10; 380*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::has_infinity; 381*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::has_quiet_NaN; 382*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::has_signaling_NaN; 383*e4b17023SJohn Marino const float_denorm_style numeric_limits<unsigned long long>::has_denorm; 384*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::has_denorm_loss; 385*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::is_iec559; 386*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::is_bounded; 387*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::is_modulo; 388*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::traps; 389*e4b17023SJohn Marino const bool numeric_limits<unsigned long long>::tinyness_before; 390*e4b17023SJohn Marino const float_round_style numeric_limits<unsigned long long>::round_style; 391*e4b17023SJohn Marino 392*e4b17023SJohn Marino #if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128) 393*e4b17023SJohn Marino const bool numeric_limits<__int128>::is_specialized; 394*e4b17023SJohn Marino const int numeric_limits<__int128>::digits; 395*e4b17023SJohn Marino const int numeric_limits<__int128>::digits10; 396*e4b17023SJohn Marino const int numeric_limits<__int128>::max_digits10; 397*e4b17023SJohn Marino const bool numeric_limits<__int128>::is_signed; 398*e4b17023SJohn Marino const bool numeric_limits<__int128>::is_integer; 399*e4b17023SJohn Marino const bool numeric_limits<__int128>::is_exact; 400*e4b17023SJohn Marino const int numeric_limits<__int128>::radix; 401*e4b17023SJohn Marino const int numeric_limits<__int128>::min_exponent; 402*e4b17023SJohn Marino const int numeric_limits<__int128>::min_exponent10; 403*e4b17023SJohn Marino const int numeric_limits<__int128>::max_exponent; 404*e4b17023SJohn Marino const int numeric_limits<__int128>::max_exponent10; 405*e4b17023SJohn Marino const bool numeric_limits<__int128>::has_infinity; 406*e4b17023SJohn Marino const bool numeric_limits<__int128>::has_quiet_NaN; 407*e4b17023SJohn Marino const bool numeric_limits<__int128>::has_signaling_NaN; 408*e4b17023SJohn Marino const float_denorm_style numeric_limits<__int128>::has_denorm; 409*e4b17023SJohn Marino const bool numeric_limits<__int128>::has_denorm_loss; 410*e4b17023SJohn Marino const bool numeric_limits<__int128>::is_iec559; 411*e4b17023SJohn Marino const bool numeric_limits<__int128>::is_bounded; 412*e4b17023SJohn Marino const bool numeric_limits<__int128>::is_modulo; 413*e4b17023SJohn Marino const bool numeric_limits<__int128>::traps; 414*e4b17023SJohn Marino const bool numeric_limits<__int128>::tinyness_before; 415*e4b17023SJohn Marino const float_round_style numeric_limits<__int128>::round_style; 416*e4b17023SJohn Marino 417*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::is_specialized; 418*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::digits; 419*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::digits10; 420*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::max_digits10; 421*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::is_signed; 422*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::is_integer; 423*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::is_exact; 424*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::radix; 425*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::min_exponent; 426*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::min_exponent10; 427*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::max_exponent; 428*e4b17023SJohn Marino const int numeric_limits<unsigned __int128>::max_exponent10; 429*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::has_infinity; 430*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::has_quiet_NaN; 431*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::has_signaling_NaN; 432*e4b17023SJohn Marino const float_denorm_style numeric_limits<unsigned __int128>::has_denorm; 433*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::has_denorm_loss; 434*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::is_iec559; 435*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::is_bounded; 436*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::is_modulo; 437*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::traps; 438*e4b17023SJohn Marino const bool numeric_limits<unsigned __int128>::tinyness_before; 439*e4b17023SJohn Marino const float_round_style numeric_limits<unsigned __int128>::round_style; 440*e4b17023SJohn Marino #endif 441*e4b17023SJohn Marino 442*e4b17023SJohn Marino // float 443*e4b17023SJohn Marino const bool numeric_limits<float>::is_specialized; 444*e4b17023SJohn Marino const int numeric_limits<float>::digits; 445*e4b17023SJohn Marino const int numeric_limits<float>::digits10; 446*e4b17023SJohn Marino const int numeric_limits<float>::max_digits10; 447*e4b17023SJohn Marino const bool numeric_limits<float>::is_signed; 448*e4b17023SJohn Marino const bool numeric_limits<float>::is_integer; 449*e4b17023SJohn Marino const bool numeric_limits<float>::is_exact; 450*e4b17023SJohn Marino const int numeric_limits<float>::radix; 451*e4b17023SJohn Marino const int numeric_limits<float>::min_exponent; 452*e4b17023SJohn Marino const int numeric_limits<float>::min_exponent10; 453*e4b17023SJohn Marino const int numeric_limits<float>::max_exponent; 454*e4b17023SJohn Marino const int numeric_limits<float>::max_exponent10; 455*e4b17023SJohn Marino const bool numeric_limits<float>::has_infinity; 456*e4b17023SJohn Marino const bool numeric_limits<float>::has_quiet_NaN; 457*e4b17023SJohn Marino const bool numeric_limits<float>::has_signaling_NaN; 458*e4b17023SJohn Marino const float_denorm_style numeric_limits<float>::has_denorm; 459*e4b17023SJohn Marino const bool numeric_limits<float>::has_denorm_loss; 460*e4b17023SJohn Marino const bool numeric_limits<float>::is_iec559; 461*e4b17023SJohn Marino const bool numeric_limits<float>::is_bounded; 462*e4b17023SJohn Marino const bool numeric_limits<float>::is_modulo; 463*e4b17023SJohn Marino const bool numeric_limits<float>::traps; 464*e4b17023SJohn Marino const bool numeric_limits<float>::tinyness_before; 465*e4b17023SJohn Marino const float_round_style numeric_limits<float>::round_style; 466*e4b17023SJohn Marino 467*e4b17023SJohn Marino // double 468*e4b17023SJohn Marino const bool numeric_limits<double>::is_specialized; 469*e4b17023SJohn Marino const int numeric_limits<double>::digits; 470*e4b17023SJohn Marino const int numeric_limits<double>::digits10; 471*e4b17023SJohn Marino const int numeric_limits<double>::max_digits10; 472*e4b17023SJohn Marino const bool numeric_limits<double>::is_signed; 473*e4b17023SJohn Marino const bool numeric_limits<double>::is_integer; 474*e4b17023SJohn Marino const bool numeric_limits<double>::is_exact; 475*e4b17023SJohn Marino const int numeric_limits<double>::radix; 476*e4b17023SJohn Marino const int numeric_limits<double>::min_exponent; 477*e4b17023SJohn Marino const int numeric_limits<double>::min_exponent10; 478*e4b17023SJohn Marino const int numeric_limits<double>::max_exponent; 479*e4b17023SJohn Marino const int numeric_limits<double>::max_exponent10; 480*e4b17023SJohn Marino const bool numeric_limits<double>::has_infinity; 481*e4b17023SJohn Marino const bool numeric_limits<double>::has_quiet_NaN; 482*e4b17023SJohn Marino const bool numeric_limits<double>::has_signaling_NaN; 483*e4b17023SJohn Marino const float_denorm_style numeric_limits<double>::has_denorm; 484*e4b17023SJohn Marino const bool numeric_limits<double>::has_denorm_loss; 485*e4b17023SJohn Marino const bool numeric_limits<double>::is_iec559; 486*e4b17023SJohn Marino const bool numeric_limits<double>::is_bounded; 487*e4b17023SJohn Marino const bool numeric_limits<double>::is_modulo; 488*e4b17023SJohn Marino const bool numeric_limits<double>::traps; 489*e4b17023SJohn Marino const bool numeric_limits<double>::tinyness_before; 490*e4b17023SJohn Marino const float_round_style numeric_limits<double>::round_style; 491*e4b17023SJohn Marino 492*e4b17023SJohn Marino // long double 493*e4b17023SJohn Marino const bool numeric_limits<long double>::is_specialized; 494*e4b17023SJohn Marino const int numeric_limits<long double>::digits; 495*e4b17023SJohn Marino const int numeric_limits<long double>::digits10; 496*e4b17023SJohn Marino const int numeric_limits<long double>::max_digits10; 497*e4b17023SJohn Marino const bool numeric_limits<long double>::is_signed; 498*e4b17023SJohn Marino const bool numeric_limits<long double>::is_integer; 499*e4b17023SJohn Marino const bool numeric_limits<long double>::is_exact; 500*e4b17023SJohn Marino const int numeric_limits<long double>::radix; 501*e4b17023SJohn Marino const int numeric_limits<long double>::min_exponent; 502*e4b17023SJohn Marino const int numeric_limits<long double>::min_exponent10; 503*e4b17023SJohn Marino const int numeric_limits<long double>::max_exponent; 504*e4b17023SJohn Marino const int numeric_limits<long double>::max_exponent10; 505*e4b17023SJohn Marino const bool numeric_limits<long double>::has_infinity; 506*e4b17023SJohn Marino const bool numeric_limits<long double>::has_quiet_NaN; 507*e4b17023SJohn Marino const bool numeric_limits<long double>::has_signaling_NaN; 508*e4b17023SJohn Marino const float_denorm_style numeric_limits<long double>::has_denorm; 509*e4b17023SJohn Marino const bool numeric_limits<long double>::has_denorm_loss; 510*e4b17023SJohn Marino const bool numeric_limits<long double>::is_iec559; 511*e4b17023SJohn Marino const bool numeric_limits<long double>::is_bounded; 512*e4b17023SJohn Marino const bool numeric_limits<long double>::is_modulo; 513*e4b17023SJohn Marino const bool numeric_limits<long double>::traps; 514*e4b17023SJohn Marino const bool numeric_limits<long double>::tinyness_before; 515*e4b17023SJohn Marino const float_round_style numeric_limits<long double>::round_style; 516*e4b17023SJohn Marino 517*e4b17023SJohn Marino // char16_t 518*e4b17023SJohn Marino const bool numeric_limits<char16_t>::is_specialized; 519*e4b17023SJohn Marino const int numeric_limits<char16_t>::digits; 520*e4b17023SJohn Marino const int numeric_limits<char16_t>::digits10; 521*e4b17023SJohn Marino const int numeric_limits<char16_t>::max_digits10; 522*e4b17023SJohn Marino const bool numeric_limits<char16_t>::is_signed; 523*e4b17023SJohn Marino const bool numeric_limits<char16_t>::is_integer; 524*e4b17023SJohn Marino const bool numeric_limits<char16_t>::is_exact; 525*e4b17023SJohn Marino const int numeric_limits<char16_t>::radix; 526*e4b17023SJohn Marino const int numeric_limits<char16_t>::min_exponent; 527*e4b17023SJohn Marino const int numeric_limits<char16_t>::min_exponent10; 528*e4b17023SJohn Marino const int numeric_limits<char16_t>::max_exponent; 529*e4b17023SJohn Marino const int numeric_limits<char16_t>::max_exponent10; 530*e4b17023SJohn Marino const bool numeric_limits<char16_t>::has_infinity; 531*e4b17023SJohn Marino const bool numeric_limits<char16_t>::has_quiet_NaN; 532*e4b17023SJohn Marino const bool numeric_limits<char16_t>::has_signaling_NaN; 533*e4b17023SJohn Marino const float_denorm_style numeric_limits<char16_t>::has_denorm; 534*e4b17023SJohn Marino const bool numeric_limits<char16_t>::has_denorm_loss; 535*e4b17023SJohn Marino const bool numeric_limits<char16_t>::is_iec559; 536*e4b17023SJohn Marino const bool numeric_limits<char16_t>::is_bounded; 537*e4b17023SJohn Marino const bool numeric_limits<char16_t>::is_modulo; 538*e4b17023SJohn Marino const bool numeric_limits<char16_t>::traps; 539*e4b17023SJohn Marino const bool numeric_limits<char16_t>::tinyness_before; 540*e4b17023SJohn Marino const float_round_style numeric_limits<char16_t>::round_style; 541*e4b17023SJohn Marino 542*e4b17023SJohn Marino // char32_t 543*e4b17023SJohn Marino const bool numeric_limits<char32_t>::is_specialized; 544*e4b17023SJohn Marino const int numeric_limits<char32_t>::digits; 545*e4b17023SJohn Marino const int numeric_limits<char32_t>::digits10; 546*e4b17023SJohn Marino const int numeric_limits<char32_t>::max_digits10; 547*e4b17023SJohn Marino const bool numeric_limits<char32_t>::is_signed; 548*e4b17023SJohn Marino const bool numeric_limits<char32_t>::is_integer; 549*e4b17023SJohn Marino const bool numeric_limits<char32_t>::is_exact; 550*e4b17023SJohn Marino const int numeric_limits<char32_t>::radix; 551*e4b17023SJohn Marino const int numeric_limits<char32_t>::min_exponent; 552*e4b17023SJohn Marino const int numeric_limits<char32_t>::min_exponent10; 553*e4b17023SJohn Marino const int numeric_limits<char32_t>::max_exponent; 554*e4b17023SJohn Marino const int numeric_limits<char32_t>::max_exponent10; 555*e4b17023SJohn Marino const bool numeric_limits<char32_t>::has_infinity; 556*e4b17023SJohn Marino const bool numeric_limits<char32_t>::has_quiet_NaN; 557*e4b17023SJohn Marino const bool numeric_limits<char32_t>::has_signaling_NaN; 558*e4b17023SJohn Marino const float_denorm_style numeric_limits<char32_t>::has_denorm; 559*e4b17023SJohn Marino const bool numeric_limits<char32_t>::has_denorm_loss; 560*e4b17023SJohn Marino const bool numeric_limits<char32_t>::is_iec559; 561*e4b17023SJohn Marino const bool numeric_limits<char32_t>::is_bounded; 562*e4b17023SJohn Marino const bool numeric_limits<char32_t>::is_modulo; 563*e4b17023SJohn Marino const bool numeric_limits<char32_t>::traps; 564*e4b17023SJohn Marino const bool numeric_limits<char32_t>::tinyness_before; 565*e4b17023SJohn Marino const float_round_style numeric_limits<char32_t>::round_style; 566*e4b17023SJohn Marino 567*e4b17023SJohn Marino #undef const 568*e4b17023SJohn Marino 569*e4b17023SJohn Marino _GLIBCXX_END_NAMESPACE_VERSION 570*e4b17023SJohn Marino } // namespace 571*e4b17023SJohn Marino 572*e4b17023SJohn Marino // XXX GLIBCXX_ABI Deprecated 573*e4b17023SJohn Marino #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT 574*e4b17023SJohn Marino 575*e4b17023SJohn Marino #define _GLIBCXX_NUM_LIM_COMPAT(type, member, len) \ 576*e4b17023SJohn Marino extern "C" type _ZNSt14numeric_limitsIeE ## len ## member ## E \ 577*e4b17023SJohn Marino __attribute__ ((alias ("_ZNSt14numeric_limitsIdE" #len #member "E"))) 578*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, is_specialized, 14); 579*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (int, digits, 6); 580*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (int, digits10, 8); 581*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, is_signed, 9); 582*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, is_integer, 10); 583*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, is_exact, 8); 584*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (int, radix, 5); 585*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (int, min_exponent, 12); 586*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (int, min_exponent10, 14); 587*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (int, max_exponent, 12); 588*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (int, max_exponent10, 14); 589*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, has_infinity, 12); 590*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, has_quiet_NaN, 13); 591*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, has_signaling_NaN, 17); 592*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (std::float_denorm_style, has_denorm, 10); 593*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, has_denorm_loss, 15); 594*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, is_iec559, 9); 595*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, is_bounded, 10); 596*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, is_modulo, 9); 597*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, traps, 5); 598*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (bool, tinyness_before, 15); 599*e4b17023SJohn Marino _GLIBCXX_NUM_LIM_COMPAT (std::float_round_style, round_style, 11); 600*e4b17023SJohn Marino 601*e4b17023SJohn Marino #endif // _GLIBCXX_LONG_DOUBLE_COMPAT 602