37 #ifndef _GLIBCXX_NUMERIC_LIMITS 38 #define _GLIBCXX_NUMERIC_LIMITS 1 40 #pragma GCC system_header 79 #ifndef __glibcxx_integral_traps 80 # define __glibcxx_integral_traps true 88 #ifndef __glibcxx_float_has_denorm_loss 89 # define __glibcxx_float_has_denorm_loss false 91 #ifndef __glibcxx_float_traps 92 # define __glibcxx_float_traps false 94 #ifndef __glibcxx_float_tinyness_before 95 # define __glibcxx_float_tinyness_before false 102 #ifndef __glibcxx_double_has_denorm_loss 103 # define __glibcxx_double_has_denorm_loss false 105 #ifndef __glibcxx_double_traps 106 # define __glibcxx_double_traps false 108 #ifndef __glibcxx_double_tinyness_before 109 # define __glibcxx_double_tinyness_before false 116 #ifndef __glibcxx_long_double_has_denorm_loss 117 # define __glibcxx_long_double_has_denorm_loss false 119 #ifndef __glibcxx_long_double_traps 120 # define __glibcxx_long_double_traps false 122 #ifndef __glibcxx_long_double_tinyness_before 123 # define __glibcxx_long_double_tinyness_before false 128 #define __glibcxx_signed_b(T,B) ((T)(-1) < 0) 130 #define __glibcxx_min_b(T,B) \ 131 (__glibcxx_signed_b (T,B) ? -__glibcxx_max_b (T,B) - 1 : (T)0) 133 #define __glibcxx_max_b(T,B) \ 134 (__glibcxx_signed_b (T,B) ? \ 135 (((((T)1 << (__glibcxx_digits_b (T,B) - 1)) - 1) << 1) + 1) : ~(T)0) 137 #define __glibcxx_digits_b(T,B) \ 138 (B - __glibcxx_signed_b (T,B)) 141 #define __glibcxx_digits10_b(T,B) \ 142 (__glibcxx_digits_b (T,B) * 643L / 2136) 144 #define __glibcxx_signed(T) \ 145 __glibcxx_signed_b (T, sizeof(T) * __CHAR_BIT__) 146 #define __glibcxx_min(T) \ 147 __glibcxx_min_b (T, sizeof(T) * __CHAR_BIT__) 148 #define __glibcxx_max(T) \ 149 __glibcxx_max_b (T, sizeof(T) * __CHAR_BIT__) 150 #define __glibcxx_digits(T) \ 151 __glibcxx_digits_b (T, sizeof(T) * __CHAR_BIT__) 152 #define __glibcxx_digits10(T) \ 153 __glibcxx_digits10_b (T, sizeof(T) * __CHAR_BIT__) 155 #define __glibcxx_max_digits10(T) \ 156 (2 + (T) * 643L / 2136) 158 namespace std _GLIBCXX_VISIBILITY(default)
160 _GLIBCXX_BEGIN_NAMESPACE_VERSION
169 round_indeterminate = -1,
211 static _GLIBCXX_USE_CONSTEXPR
int digits = 0;
216 #if __cplusplus >= 201103L 231 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
235 static _GLIBCXX_USE_CONSTEXPR
int radix = 0;
291 static _GLIBCXX_USE_CONSTEXPR
bool traps =
false;
311 template<
typename _Tp>
316 static _GLIBCXX_CONSTEXPR _Tp
317 min() _GLIBCXX_USE_NOEXCEPT {
return _Tp(); }
320 static _GLIBCXX_CONSTEXPR _Tp
321 max() _GLIBCXX_USE_NOEXCEPT {
return _Tp(); }
323 #if __cplusplus >= 201103L 332 static _GLIBCXX_CONSTEXPR _Tp
333 epsilon() _GLIBCXX_USE_NOEXCEPT {
return _Tp(); }
336 static _GLIBCXX_CONSTEXPR _Tp
340 static _GLIBCXX_CONSTEXPR _Tp
345 static _GLIBCXX_CONSTEXPR _Tp
350 static _GLIBCXX_CONSTEXPR _Tp
356 static _GLIBCXX_CONSTEXPR _Tp
363 template<
typename _Tp>
367 template<
typename _Tp>
371 template<
typename _Tp>
387 static _GLIBCXX_CONSTEXPR
bool 388 min() _GLIBCXX_USE_NOEXCEPT {
return false; }
390 static _GLIBCXX_CONSTEXPR
bool 391 max() _GLIBCXX_USE_NOEXCEPT {
return true; }
393 #if __cplusplus >= 201103L 394 static constexpr
bool 395 lowest() noexcept {
return min(); }
397 static _GLIBCXX_USE_CONSTEXPR
int digits = 1;
398 static _GLIBCXX_USE_CONSTEXPR
int digits10 = 0;
399 #if __cplusplus >= 201103L 402 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
403 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
404 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
405 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
407 static _GLIBCXX_CONSTEXPR
bool 408 epsilon() _GLIBCXX_USE_NOEXCEPT {
return false; }
410 static _GLIBCXX_CONSTEXPR
bool 411 round_error() _GLIBCXX_USE_NOEXCEPT {
return false; }
418 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
425 static _GLIBCXX_CONSTEXPR
bool 426 infinity() _GLIBCXX_USE_NOEXCEPT {
return false; }
428 static _GLIBCXX_CONSTEXPR
bool 429 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return false; }
431 static _GLIBCXX_CONSTEXPR
bool 432 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return false; }
434 static _GLIBCXX_CONSTEXPR
bool 435 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return false; }
437 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
438 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
439 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
444 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
456 static _GLIBCXX_CONSTEXPR
char 457 min() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_min(
char); }
459 static _GLIBCXX_CONSTEXPR
char 460 max() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_max(
char); }
462 #if __cplusplus >= 201103L 463 static constexpr
char 464 lowest() noexcept {
return min(); }
467 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
char);
468 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
char);
469 #if __cplusplus >= 201103L 472 static _GLIBCXX_USE_CONSTEXPR
bool is_signed = __glibcxx_signed (
char);
473 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
474 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
475 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
477 static _GLIBCXX_CONSTEXPR
char 478 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
480 static _GLIBCXX_CONSTEXPR
char 481 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
488 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
495 static _GLIBCXX_CONSTEXPR
496 char infinity() _GLIBCXX_USE_NOEXCEPT {
return char(); }
498 static _GLIBCXX_CONSTEXPR
char 499 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return char(); }
501 static _GLIBCXX_CONSTEXPR
char 502 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return char(); }
504 static _GLIBCXX_CONSTEXPR
char 505 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<char>(0); }
507 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
508 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
511 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
523 static _GLIBCXX_CONSTEXPR
signed char 524 min() _GLIBCXX_USE_NOEXCEPT {
return -__SCHAR_MAX__ - 1; }
526 static _GLIBCXX_CONSTEXPR
signed char 527 max() _GLIBCXX_USE_NOEXCEPT {
return __SCHAR_MAX__; }
529 #if __cplusplus >= 201103L 530 static constexpr
signed char 531 lowest() noexcept {
return min(); }
534 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
signed char);
535 static _GLIBCXX_USE_CONSTEXPR
int digits10 536 = __glibcxx_digits10 (
signed char);
537 #if __cplusplus >= 201103L 540 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
541 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
542 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
543 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
545 static _GLIBCXX_CONSTEXPR
signed char 546 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
548 static _GLIBCXX_CONSTEXPR
signed char 549 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
556 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
563 static _GLIBCXX_CONSTEXPR
signed char 564 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<signed char>(0); }
566 static _GLIBCXX_CONSTEXPR
signed char 567 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<signed char>(0); }
569 static _GLIBCXX_CONSTEXPR
signed char 570 signaling_NaN() _GLIBCXX_USE_NOEXCEPT
571 {
return static_cast<signed char>(0); }
573 static _GLIBCXX_CONSTEXPR
signed char 574 denorm_min() _GLIBCXX_USE_NOEXCEPT
575 {
return static_cast<signed char>(0); }
577 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
578 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
579 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
581 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
593 static _GLIBCXX_CONSTEXPR
unsigned char 594 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
596 static _GLIBCXX_CONSTEXPR
unsigned char 597 max() _GLIBCXX_USE_NOEXCEPT {
return __SCHAR_MAX__ * 2U + 1; }
599 #if __cplusplus >= 201103L 600 static constexpr
unsigned char 601 lowest() noexcept {
return min(); }
604 static _GLIBCXX_USE_CONSTEXPR
int digits 605 = __glibcxx_digits (
unsigned char);
606 static _GLIBCXX_USE_CONSTEXPR
int digits10 607 = __glibcxx_digits10 (
unsigned char);
608 #if __cplusplus >= 201103L 611 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
612 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
613 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
614 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
616 static _GLIBCXX_CONSTEXPR
unsigned char 617 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
619 static _GLIBCXX_CONSTEXPR
unsigned char 620 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
627 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
634 static _GLIBCXX_CONSTEXPR
unsigned char 635 infinity() _GLIBCXX_USE_NOEXCEPT
636 {
return static_cast<unsigned char>(0); }
638 static _GLIBCXX_CONSTEXPR
unsigned char 639 quiet_NaN() _GLIBCXX_USE_NOEXCEPT
640 {
return static_cast<unsigned char>(0); }
642 static _GLIBCXX_CONSTEXPR
unsigned char 643 signaling_NaN() _GLIBCXX_USE_NOEXCEPT
644 {
return static_cast<unsigned char>(0); }
646 static _GLIBCXX_CONSTEXPR
unsigned char 647 denorm_min() _GLIBCXX_USE_NOEXCEPT
648 {
return static_cast<unsigned char>(0); }
650 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
651 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
652 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
654 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
666 static _GLIBCXX_CONSTEXPR
wchar_t 667 min() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_min (
wchar_t); }
669 static _GLIBCXX_CONSTEXPR
wchar_t 670 max() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_max (
wchar_t); }
672 #if __cplusplus >= 201103L 673 static constexpr
wchar_t 674 lowest() noexcept {
return min(); }
677 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
wchar_t);
678 static _GLIBCXX_USE_CONSTEXPR
int digits10 679 = __glibcxx_digits10 (
wchar_t);
680 #if __cplusplus >= 201103L 683 static _GLIBCXX_USE_CONSTEXPR
bool is_signed = __glibcxx_signed (
wchar_t);
684 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
685 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
686 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
688 static _GLIBCXX_CONSTEXPR
wchar_t 689 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
691 static _GLIBCXX_CONSTEXPR
wchar_t 692 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
699 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
706 static _GLIBCXX_CONSTEXPR
wchar_t 707 infinity() _GLIBCXX_USE_NOEXCEPT {
return wchar_t(); }
709 static _GLIBCXX_CONSTEXPR
wchar_t 710 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return wchar_t(); }
712 static _GLIBCXX_CONSTEXPR
wchar_t 713 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return wchar_t(); }
715 static _GLIBCXX_CONSTEXPR
wchar_t 716 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return wchar_t(); }
718 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
719 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
722 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
728 #if __cplusplus >= 201103L 735 static constexpr char16_t
736 min() noexcept {
return __glibcxx_min (char16_t); }
738 static constexpr char16_t
739 max() noexcept {
return __glibcxx_max (char16_t); }
741 static constexpr char16_t
742 lowest() noexcept {
return min(); }
744 static constexpr
int digits = __glibcxx_digits (char16_t);
745 static constexpr
int digits10 = __glibcxx_digits10 (char16_t);
747 static constexpr
bool is_signed = __glibcxx_signed (char16_t);
749 static constexpr
bool is_exact =
true;
750 static constexpr
int radix = 2;
752 static constexpr char16_t
753 epsilon() noexcept {
return 0; }
755 static constexpr char16_t
756 round_error() noexcept {
return 0; }
769 static constexpr char16_t
770 infinity() noexcept {
return char16_t(); }
772 static constexpr char16_t
773 quiet_NaN() noexcept {
return char16_t(); }
775 static constexpr char16_t
776 signaling_NaN() noexcept {
return char16_t(); }
778 static constexpr char16_t
779 denorm_min() noexcept {
return char16_t(); }
785 static constexpr
bool traps = __glibcxx_integral_traps;
796 static constexpr char32_t
797 min() noexcept {
return __glibcxx_min (char32_t); }
799 static constexpr char32_t
800 max() noexcept {
return __glibcxx_max (char32_t); }
802 static constexpr char32_t
803 lowest() noexcept {
return min(); }
805 static constexpr
int digits = __glibcxx_digits (char32_t);
806 static constexpr
int digits10 = __glibcxx_digits10 (char32_t);
808 static constexpr
bool is_signed = __glibcxx_signed (char32_t);
810 static constexpr
bool is_exact =
true;
811 static constexpr
int radix = 2;
813 static constexpr char32_t
814 epsilon() noexcept {
return 0; }
816 static constexpr char32_t
817 round_error() noexcept {
return 0; }
830 static constexpr char32_t
831 infinity() noexcept {
return char32_t(); }
833 static constexpr char32_t
834 quiet_NaN() noexcept {
return char32_t(); }
836 static constexpr char32_t
837 signaling_NaN() noexcept {
return char32_t(); }
839 static constexpr char32_t
840 denorm_min() noexcept {
return char32_t(); }
846 static constexpr
bool traps = __glibcxx_integral_traps;
858 static _GLIBCXX_CONSTEXPR
short 859 min() _GLIBCXX_USE_NOEXCEPT {
return -__SHRT_MAX__ - 1; }
861 static _GLIBCXX_CONSTEXPR
short 862 max() _GLIBCXX_USE_NOEXCEPT {
return __SHRT_MAX__; }
864 #if __cplusplus >= 201103L 865 static constexpr
short 866 lowest() noexcept {
return min(); }
869 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
short);
870 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
short);
871 #if __cplusplus >= 201103L 874 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
875 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
876 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
877 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
879 static _GLIBCXX_CONSTEXPR
short 880 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
882 static _GLIBCXX_CONSTEXPR
short 883 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
890 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
897 static _GLIBCXX_CONSTEXPR
short 898 infinity() _GLIBCXX_USE_NOEXCEPT {
return short(); }
900 static _GLIBCXX_CONSTEXPR
short 901 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return short(); }
903 static _GLIBCXX_CONSTEXPR
short 904 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return short(); }
906 static _GLIBCXX_CONSTEXPR
short 907 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return short(); }
909 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
910 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
911 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
913 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
925 static _GLIBCXX_CONSTEXPR
unsigned short 926 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
928 static _GLIBCXX_CONSTEXPR
unsigned short 929 max() _GLIBCXX_USE_NOEXCEPT {
return __SHRT_MAX__ * 2U + 1; }
931 #if __cplusplus >= 201103L 932 static constexpr
unsigned short 933 lowest() noexcept {
return min(); }
936 static _GLIBCXX_USE_CONSTEXPR
int digits 937 = __glibcxx_digits (
unsigned short);
938 static _GLIBCXX_USE_CONSTEXPR
int digits10 939 = __glibcxx_digits10 (
unsigned short);
940 #if __cplusplus >= 201103L 943 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
944 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
945 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
946 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
948 static _GLIBCXX_CONSTEXPR
unsigned short 949 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
951 static _GLIBCXX_CONSTEXPR
unsigned short 952 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
959 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
966 static _GLIBCXX_CONSTEXPR
unsigned short 967 infinity() _GLIBCXX_USE_NOEXCEPT
968 {
return static_cast<unsigned short>(0); }
970 static _GLIBCXX_CONSTEXPR
unsigned short 971 quiet_NaN() _GLIBCXX_USE_NOEXCEPT
972 {
return static_cast<unsigned short>(0); }
974 static _GLIBCXX_CONSTEXPR
unsigned short 975 signaling_NaN() _GLIBCXX_USE_NOEXCEPT
976 {
return static_cast<unsigned short>(0); }
978 static _GLIBCXX_CONSTEXPR
unsigned short 979 denorm_min() _GLIBCXX_USE_NOEXCEPT
980 {
return static_cast<unsigned short>(0); }
982 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
983 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
984 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
986 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
998 static _GLIBCXX_CONSTEXPR
int 999 min() _GLIBCXX_USE_NOEXCEPT {
return -__INT_MAX__ - 1; }
1001 static _GLIBCXX_CONSTEXPR
int 1002 max() _GLIBCXX_USE_NOEXCEPT {
return __INT_MAX__; }
1004 #if __cplusplus >= 201103L 1005 static constexpr
int 1006 lowest() noexcept {
return min(); }
1009 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
int);
1010 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
int);
1011 #if __cplusplus >= 201103L 1014 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1015 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1016 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1017 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1019 static _GLIBCXX_CONSTEXPR
int 1020 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1022 static _GLIBCXX_CONSTEXPR
int 1023 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1030 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1037 static _GLIBCXX_CONSTEXPR
int 1038 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1040 static _GLIBCXX_CONSTEXPR
int 1041 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1043 static _GLIBCXX_CONSTEXPR
int 1044 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1046 static _GLIBCXX_CONSTEXPR
int 1047 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1049 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1050 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1051 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1053 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1065 static _GLIBCXX_CONSTEXPR
unsigned int 1066 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1068 static _GLIBCXX_CONSTEXPR
unsigned int 1069 max() _GLIBCXX_USE_NOEXCEPT {
return __INT_MAX__ * 2U + 1; }
1071 #if __cplusplus >= 201103L 1072 static constexpr
unsigned int 1073 lowest() noexcept {
return min(); }
1076 static _GLIBCXX_USE_CONSTEXPR
int digits 1077 = __glibcxx_digits (
unsigned int);
1078 static _GLIBCXX_USE_CONSTEXPR
int digits10 1079 = __glibcxx_digits10 (
unsigned int);
1080 #if __cplusplus >= 201103L 1083 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
1084 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1085 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1086 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1088 static _GLIBCXX_CONSTEXPR
unsigned int 1089 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1091 static _GLIBCXX_CONSTEXPR
unsigned int 1092 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1099 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1106 static _GLIBCXX_CONSTEXPR
unsigned int 1107 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<unsigned int>(0); }
1109 static _GLIBCXX_CONSTEXPR
unsigned int 1110 quiet_NaN() _GLIBCXX_USE_NOEXCEPT
1111 {
return static_cast<unsigned int>(0); }
1113 static _GLIBCXX_CONSTEXPR
unsigned int 1114 signaling_NaN() _GLIBCXX_USE_NOEXCEPT
1115 {
return static_cast<unsigned int>(0); }
1117 static _GLIBCXX_CONSTEXPR
unsigned int 1118 denorm_min() _GLIBCXX_USE_NOEXCEPT
1119 {
return static_cast<unsigned int>(0); }
1121 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1122 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1123 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
1125 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1137 static _GLIBCXX_CONSTEXPR
long 1138 min() _GLIBCXX_USE_NOEXCEPT {
return -__LONG_MAX__ - 1; }
1140 static _GLIBCXX_CONSTEXPR
long 1141 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_MAX__; }
1143 #if __cplusplus >= 201103L 1144 static constexpr
long 1145 lowest() noexcept {
return min(); }
1148 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
long);
1149 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
long);
1150 #if __cplusplus >= 201103L 1153 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1154 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1155 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1156 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1158 static _GLIBCXX_CONSTEXPR
long 1159 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1161 static _GLIBCXX_CONSTEXPR
long 1162 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1169 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1176 static _GLIBCXX_CONSTEXPR
long 1177 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1179 static _GLIBCXX_CONSTEXPR
long 1180 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1182 static _GLIBCXX_CONSTEXPR
long 1183 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1185 static _GLIBCXX_CONSTEXPR
long 1186 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1188 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1189 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1190 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1192 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1204 static _GLIBCXX_CONSTEXPR
unsigned long 1205 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1207 static _GLIBCXX_CONSTEXPR
unsigned long 1208 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_MAX__ * 2UL + 1; }
1210 #if __cplusplus >= 201103L 1211 static constexpr
unsigned long 1212 lowest() noexcept {
return min(); }
1215 static _GLIBCXX_USE_CONSTEXPR
int digits 1216 = __glibcxx_digits (
unsigned long);
1217 static _GLIBCXX_USE_CONSTEXPR
int digits10 1218 = __glibcxx_digits10 (
unsigned long);
1219 #if __cplusplus >= 201103L 1222 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
1223 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1224 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1225 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1227 static _GLIBCXX_CONSTEXPR
unsigned long 1228 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1230 static _GLIBCXX_CONSTEXPR
unsigned long 1231 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1238 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1245 static _GLIBCXX_CONSTEXPR
unsigned long 1246 infinity() _GLIBCXX_USE_NOEXCEPT
1247 {
return static_cast<unsigned long>(0); }
1249 static _GLIBCXX_CONSTEXPR
unsigned long 1250 quiet_NaN() _GLIBCXX_USE_NOEXCEPT
1251 {
return static_cast<unsigned long>(0); }
1253 static _GLIBCXX_CONSTEXPR
unsigned long 1254 signaling_NaN() _GLIBCXX_USE_NOEXCEPT
1255 {
return static_cast<unsigned long>(0); }
1257 static _GLIBCXX_CONSTEXPR
unsigned long 1258 denorm_min() _GLIBCXX_USE_NOEXCEPT
1259 {
return static_cast<unsigned long>(0); }
1261 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1262 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1263 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
1265 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1277 static _GLIBCXX_CONSTEXPR
long long 1278 min() _GLIBCXX_USE_NOEXCEPT {
return -__LONG_LONG_MAX__ - 1; }
1280 static _GLIBCXX_CONSTEXPR
long long 1281 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_LONG_MAX__; }
1283 #if __cplusplus >= 201103L 1284 static constexpr
long long 1285 lowest() noexcept {
return min(); }
1288 static _GLIBCXX_USE_CONSTEXPR
int digits 1289 = __glibcxx_digits (
long long);
1290 static _GLIBCXX_USE_CONSTEXPR
int digits10 1291 = __glibcxx_digits10 (
long long);
1292 #if __cplusplus >= 201103L 1295 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1296 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1297 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1298 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1300 static _GLIBCXX_CONSTEXPR
long long 1301 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1303 static _GLIBCXX_CONSTEXPR
long long 1304 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1311 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1318 static _GLIBCXX_CONSTEXPR
long long 1319 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long long>(0); }
1321 static _GLIBCXX_CONSTEXPR
long long 1322 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long long>(0); }
1324 static _GLIBCXX_CONSTEXPR
long long 1325 signaling_NaN() _GLIBCXX_USE_NOEXCEPT
1326 {
return static_cast<long long>(0); }
1328 static _GLIBCXX_CONSTEXPR
long long 1329 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long long>(0); }
1331 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1332 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1333 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1335 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1347 static _GLIBCXX_CONSTEXPR
unsigned long long 1348 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1350 static _GLIBCXX_CONSTEXPR
unsigned long long 1351 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_LONG_MAX__ * 2ULL + 1; }
1353 #if __cplusplus >= 201103L 1354 static constexpr
unsigned long long 1355 lowest() noexcept {
return min(); }
1358 static _GLIBCXX_USE_CONSTEXPR
int digits 1359 = __glibcxx_digits (
unsigned long long);
1360 static _GLIBCXX_USE_CONSTEXPR
int digits10 1361 = __glibcxx_digits10 (
unsigned long long);
1362 #if __cplusplus >= 201103L 1365 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
1366 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1367 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1368 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1370 static _GLIBCXX_CONSTEXPR
unsigned long long 1371 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1373 static _GLIBCXX_CONSTEXPR
unsigned long long 1374 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1381 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1388 static _GLIBCXX_CONSTEXPR
unsigned long long 1389 infinity() _GLIBCXX_USE_NOEXCEPT
1390 {
return static_cast<unsigned long long>(0); }
1392 static _GLIBCXX_CONSTEXPR
unsigned long long 1393 quiet_NaN() _GLIBCXX_USE_NOEXCEPT
1394 {
return static_cast<unsigned long long>(0); }
1396 static _GLIBCXX_CONSTEXPR
unsigned long long 1397 signaling_NaN() _GLIBCXX_USE_NOEXCEPT
1398 {
return static_cast<unsigned long long>(0); }
1400 static _GLIBCXX_CONSTEXPR
unsigned long long 1401 denorm_min() _GLIBCXX_USE_NOEXCEPT
1402 {
return static_cast<unsigned long long>(0); }
1404 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1405 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1406 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
1408 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1414 #if !defined(__STRICT_ANSI__) 1416 #define __INT_N(TYPE, BITSIZE, EXT, UEXT) \ 1418 struct numeric_limits<TYPE> \ 1420 static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; \ 1422 static _GLIBCXX_CONSTEXPR TYPE \ 1423 min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min_b (TYPE, BITSIZE); } \ 1425 static _GLIBCXX_CONSTEXPR TYPE \ 1426 max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max_b (TYPE, BITSIZE); } \ 1428 static _GLIBCXX_USE_CONSTEXPR int digits \ 1430 static _GLIBCXX_USE_CONSTEXPR int digits10 \ 1431 = (BITSIZE - 1) * 643L / 2136; \ 1433 static _GLIBCXX_USE_CONSTEXPR bool is_signed = true; \ 1434 static _GLIBCXX_USE_CONSTEXPR bool is_integer = true; \ 1435 static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; \ 1436 static _GLIBCXX_USE_CONSTEXPR int radix = 2; \ 1438 static _GLIBCXX_CONSTEXPR TYPE \ 1439 epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } \ 1441 static _GLIBCXX_CONSTEXPR TYPE \ 1442 round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } \ 1446 static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; \ 1447 static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; \ 1448 static _GLIBCXX_USE_CONSTEXPR int max_exponent = 0; \ 1449 static _GLIBCXX_USE_CONSTEXPR int max_exponent10 = 0; \ 1451 static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; \ 1452 static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; \ 1453 static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; \ 1454 static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm \ 1456 static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; \ 1458 static _GLIBCXX_CONSTEXPR TYPE \ 1459 infinity() _GLIBCXX_USE_NOEXCEPT \ 1460 { return static_cast<TYPE>(0); } \ 1462 static _GLIBCXX_CONSTEXPR TYPE \ 1463 quiet_NaN() _GLIBCXX_USE_NOEXCEPT \ 1464 { return static_cast<TYPE>(0); } \ 1466 static _GLIBCXX_CONSTEXPR TYPE \ 1467 signaling_NaN() _GLIBCXX_USE_NOEXCEPT \ 1468 { return static_cast<TYPE>(0); } \ 1470 static _GLIBCXX_CONSTEXPR TYPE \ 1471 denorm_min() _GLIBCXX_USE_NOEXCEPT \ 1472 { return static_cast<TYPE>(0); } \ 1474 static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; \ 1475 static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; \ 1476 static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false; \ 1478 static _GLIBCXX_USE_CONSTEXPR bool traps \ 1479 = __glibcxx_integral_traps; \ 1480 static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; \ 1481 static _GLIBCXX_USE_CONSTEXPR float_round_style round_style \ 1482 = round_toward_zero; \ 1486 struct numeric_limits<unsigned TYPE> \ 1488 static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; \ 1490 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1491 min() _GLIBCXX_USE_NOEXCEPT { return 0; } \ 1493 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1494 max() _GLIBCXX_USE_NOEXCEPT \ 1495 { return __glibcxx_max_b (unsigned TYPE, BITSIZE); } \ 1499 static _GLIBCXX_USE_CONSTEXPR int digits \ 1501 static _GLIBCXX_USE_CONSTEXPR int digits10 \ 1502 = BITSIZE * 643L / 2136; \ 1503 static _GLIBCXX_USE_CONSTEXPR bool is_signed = false; \ 1504 static _GLIBCXX_USE_CONSTEXPR bool is_integer = true; \ 1505 static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; \ 1506 static _GLIBCXX_USE_CONSTEXPR int radix = 2; \ 1508 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1509 epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } \ 1511 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1512 round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } \ 1514 static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; \ 1515 static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; \ 1516 static _GLIBCXX_USE_CONSTEXPR int max_exponent = 0; \ 1517 static _GLIBCXX_USE_CONSTEXPR int max_exponent10 = 0; \ 1519 static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; \ 1520 static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; \ 1521 static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; \ 1522 static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm \ 1524 static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; \ 1526 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1527 infinity() _GLIBCXX_USE_NOEXCEPT \ 1528 { return static_cast<unsigned TYPE>(0); } \ 1530 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1531 quiet_NaN() _GLIBCXX_USE_NOEXCEPT \ 1532 { return static_cast<unsigned TYPE>(0); } \ 1534 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1535 signaling_NaN() _GLIBCXX_USE_NOEXCEPT \ 1536 { return static_cast<unsigned TYPE>(0); } \ 1538 static _GLIBCXX_CONSTEXPR unsigned TYPE \ 1539 denorm_min() _GLIBCXX_USE_NOEXCEPT \ 1540 { return static_cast<unsigned TYPE>(0); } \ 1542 static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; \ 1543 static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; \ 1544 static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true; \ 1546 static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; \ 1547 static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; \ 1548 static _GLIBCXX_USE_CONSTEXPR float_round_style round_style \ 1549 = round_toward_zero; \ 1552 #if __cplusplus >= 201103L 1554 #define __INT_N_201103(TYPE) \ 1555 static constexpr TYPE \ 1556 lowest() noexcept { return min(); } \ 1557 static constexpr int max_digits10 = 0; 1559 #define __INT_N_U201103(TYPE) \ 1560 static constexpr unsigned TYPE \ 1561 lowest() noexcept { return min(); } \ 1562 static constexpr int max_digits10 = 0; 1565 #define __INT_N_201103(TYPE) 1566 #define __INT_N_U201103(TYPE) 1569 #ifdef __GLIBCXX_TYPE_INT_N_0 1570 __INT_N(__GLIBCXX_TYPE_INT_N_0, __GLIBCXX_BITSIZE_INT_N_0,
1571 __INT_N_201103 (__GLIBCXX_TYPE_INT_N_0), __INT_N_U201103 (__GLIBCXX_TYPE_INT_N_0))
1573 #ifdef __GLIBCXX_TYPE_INT_N_1 1574 __INT_N (__GLIBCXX_TYPE_INT_N_1, __GLIBCXX_BITSIZE_INT_N_1,
1575 __INT_N_201103 (__GLIBCXX_TYPE_INT_N_1), __INT_N_U201103 (__GLIBCXX_TYPE_INT_N_1))
1577 #ifdef __GLIBCXX_TYPE_INT_N_2 1578 __INT_N (__GLIBCXX_TYPE_INT_N_2, __GLIBCXX_BITSIZE_INT_N_2,
1579 __INT_N_201103 (__GLIBCXX_TYPE_INT_N_2), __INT_N_U201103 (__GLIBCXX_TYPE_INT_N_2))
1581 #ifdef __GLIBCXX_TYPE_INT_N_3 1582 __INT_N (__GLIBCXX_TYPE_INT_N_3, __GLIBCXX_BITSIZE_INT_N_3,
1583 __INT_N_201103 (__GLIBCXX_TYPE_INT_N_3), __INT_N_U201103 (__GLIBCXX_TYPE_INT_N_3))
1587 #undef __INT_N_201103 1588 #undef __INT_N_U201103 1598 static _GLIBCXX_CONSTEXPR
float 1599 min() _GLIBCXX_USE_NOEXCEPT {
return __FLT_MIN__; }
1601 static _GLIBCXX_CONSTEXPR
float 1602 max() _GLIBCXX_USE_NOEXCEPT {
return __FLT_MAX__; }
1604 #if __cplusplus >= 201103L 1605 static constexpr
float 1606 lowest() noexcept {
return -__FLT_MAX__; }
1609 static _GLIBCXX_USE_CONSTEXPR
int digits = __FLT_MANT_DIG__;
1610 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __FLT_DIG__;
1611 #if __cplusplus >= 201103L 1613 = __glibcxx_max_digits10 (__FLT_MANT_DIG__);
1615 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1616 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
false;
1617 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
1618 static _GLIBCXX_USE_CONSTEXPR
int radix = __FLT_RADIX__;
1620 static _GLIBCXX_CONSTEXPR
float 1621 epsilon() _GLIBCXX_USE_NOEXCEPT {
return __FLT_EPSILON__; }
1623 static _GLIBCXX_CONSTEXPR
float 1624 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0.5F; }
1626 static _GLIBCXX_USE_CONSTEXPR
int min_exponent = __FLT_MIN_EXP__;
1627 static _GLIBCXX_USE_CONSTEXPR
int min_exponent10 = __FLT_MIN_10_EXP__;
1628 static _GLIBCXX_USE_CONSTEXPR
int max_exponent = __FLT_MAX_EXP__;
1629 static _GLIBCXX_USE_CONSTEXPR
int max_exponent10 = __FLT_MAX_10_EXP__;
1631 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity = __FLT_HAS_INFINITY__;
1632 static _GLIBCXX_USE_CONSTEXPR
bool has_quiet_NaN = __FLT_HAS_QUIET_NAN__;
1637 = __glibcxx_float_has_denorm_loss;
1639 static _GLIBCXX_CONSTEXPR
float 1640 infinity() _GLIBCXX_USE_NOEXCEPT {
return __builtin_huge_valf(); }
1642 static _GLIBCXX_CONSTEXPR
float 1643 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nanf(
""); }
1645 static _GLIBCXX_CONSTEXPR
float 1646 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nansf(
""); }
1648 static _GLIBCXX_CONSTEXPR
float 1649 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return __FLT_DENORM_MIN__; }
1651 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 1653 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1654 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1656 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_float_traps;
1658 = __glibcxx_float_tinyness_before;
1663 #undef __glibcxx_float_has_denorm_loss 1664 #undef __glibcxx_float_traps 1665 #undef __glibcxx_float_tinyness_before 1673 static _GLIBCXX_CONSTEXPR
double 1674 min() _GLIBCXX_USE_NOEXCEPT {
return __DBL_MIN__; }
1676 static _GLIBCXX_CONSTEXPR
double 1677 max() _GLIBCXX_USE_NOEXCEPT {
return __DBL_MAX__; }
1679 #if __cplusplus >= 201103L 1680 static constexpr
double 1681 lowest() noexcept {
return -__DBL_MAX__; }
1684 static _GLIBCXX_USE_CONSTEXPR
int digits = __DBL_MANT_DIG__;
1685 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __DBL_DIG__;
1686 #if __cplusplus >= 201103L 1688 = __glibcxx_max_digits10 (__DBL_MANT_DIG__);
1690 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1691 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
false;
1692 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
1693 static _GLIBCXX_USE_CONSTEXPR
int radix = __FLT_RADIX__;
1695 static _GLIBCXX_CONSTEXPR
double 1696 epsilon() _GLIBCXX_USE_NOEXCEPT {
return __DBL_EPSILON__; }
1698 static _GLIBCXX_CONSTEXPR
double 1699 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0.5; }
1701 static _GLIBCXX_USE_CONSTEXPR
int min_exponent = __DBL_MIN_EXP__;
1702 static _GLIBCXX_USE_CONSTEXPR
int min_exponent10 = __DBL_MIN_10_EXP__;
1703 static _GLIBCXX_USE_CONSTEXPR
int max_exponent = __DBL_MAX_EXP__;
1704 static _GLIBCXX_USE_CONSTEXPR
int max_exponent10 = __DBL_MAX_10_EXP__;
1706 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity = __DBL_HAS_INFINITY__;
1707 static _GLIBCXX_USE_CONSTEXPR
bool has_quiet_NaN = __DBL_HAS_QUIET_NAN__;
1712 = __glibcxx_double_has_denorm_loss;
1714 static _GLIBCXX_CONSTEXPR
double 1715 infinity() _GLIBCXX_USE_NOEXCEPT {
return __builtin_huge_val(); }
1717 static _GLIBCXX_CONSTEXPR
double 1718 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nan(
""); }
1720 static _GLIBCXX_CONSTEXPR
double 1721 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nans(
""); }
1723 static _GLIBCXX_CONSTEXPR
double 1724 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return __DBL_DENORM_MIN__; }
1726 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 1728 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1729 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1731 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_double_traps;
1733 = __glibcxx_double_tinyness_before;
1738 #undef __glibcxx_double_has_denorm_loss 1739 #undef __glibcxx_double_traps 1740 #undef __glibcxx_double_tinyness_before 1748 static _GLIBCXX_CONSTEXPR
long double 1749 min() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_MIN__; }
1751 static _GLIBCXX_CONSTEXPR
long double 1752 max() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_MAX__; }
1754 #if __cplusplus >= 201103L 1755 static constexpr
long double 1756 lowest() noexcept {
return -__LDBL_MAX__; }
1759 static _GLIBCXX_USE_CONSTEXPR
int digits = __LDBL_MANT_DIG__;
1760 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __LDBL_DIG__;
1761 #if __cplusplus >= 201103L 1763 = __glibcxx_max_digits10 (__LDBL_MANT_DIG__);
1765 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1766 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
false;
1767 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
1768 static _GLIBCXX_USE_CONSTEXPR
int radix = __FLT_RADIX__;
1770 static _GLIBCXX_CONSTEXPR
long double 1771 epsilon() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_EPSILON__; }
1773 static _GLIBCXX_CONSTEXPR
long double 1774 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0.5L; }
1776 static _GLIBCXX_USE_CONSTEXPR
int min_exponent = __LDBL_MIN_EXP__;
1777 static _GLIBCXX_USE_CONSTEXPR
int min_exponent10 = __LDBL_MIN_10_EXP__;
1778 static _GLIBCXX_USE_CONSTEXPR
int max_exponent = __LDBL_MAX_EXP__;
1779 static _GLIBCXX_USE_CONSTEXPR
int max_exponent10 = __LDBL_MAX_10_EXP__;
1781 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity = __LDBL_HAS_INFINITY__;
1782 static _GLIBCXX_USE_CONSTEXPR
bool has_quiet_NaN = __LDBL_HAS_QUIET_NAN__;
1787 = __glibcxx_long_double_has_denorm_loss;
1789 static _GLIBCXX_CONSTEXPR
long double 1790 infinity() _GLIBCXX_USE_NOEXCEPT {
return __builtin_huge_vall(); }
1792 static _GLIBCXX_CONSTEXPR
long double 1793 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nanl(
""); }
1795 static _GLIBCXX_CONSTEXPR
long double 1796 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nansl(
""); }
1798 static _GLIBCXX_CONSTEXPR
long double 1799 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_DENORM_MIN__; }
1801 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 1803 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1804 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1806 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_long_double_traps;
1808 __glibcxx_long_double_tinyness_before;
1813 #undef __glibcxx_long_double_has_denorm_loss 1814 #undef __glibcxx_long_double_traps 1815 #undef __glibcxx_long_double_tinyness_before 1817 _GLIBCXX_END_NAMESPACE_VERSION
1820 #undef __glibcxx_signed 1821 #undef __glibcxx_min 1822 #undef __glibcxx_max 1823 #undef __glibcxx_digits 1824 #undef __glibcxx_digits10 1825 #undef __glibcxx_max_digits10 1827 #endif // _GLIBCXX_NUMERIC_LIMITS static constexpr int max_digits10
static constexpr bool has_infinity
static constexpr bool traps
static constexpr bool is_iec559
static constexpr float_round_style round_style
Properties of fundamental types.
ISO C++ entities toplevel namespace is std.
static constexpr _Tp max() noexcept
static constexpr int max_exponent
static constexpr int radix
static constexpr bool is_signed
static constexpr bool is_exact
The type allows denormalized values.
_GLIBCXX14_CONSTEXPR const _Tp & max(const _Tp &, const _Tp &)
This does what you think it does.
static constexpr _Tp quiet_NaN() noexcept
static constexpr float_denorm_style has_denorm
static constexpr _Tp lowest() noexcept
static constexpr int min_exponent10
static constexpr _Tp epsilon() noexcept
static constexpr _Tp min() noexcept
static constexpr bool is_bounded
Indeterminate at compile time whether denormalized values are allowed.
static constexpr bool tinyness_before
static constexpr bool has_denorm_loss
static constexpr int digits10
To the nearest representable value.
static constexpr _Tp signaling_NaN() noexcept
static constexpr bool is_integer
float_denorm_style
Describes the denormalization for floating-point types.
float_round_style
Describes the rounding style for floating-point types.
static constexpr bool is_modulo
The type does not allow denormalized values.
static constexpr int max_exponent10
Part of std::numeric_limits.
static constexpr _Tp denorm_min() noexcept
static constexpr _Tp round_error() noexcept
static constexpr bool is_specialized
static constexpr int digits
static constexpr bool has_signaling_NaN
_GLIBCXX14_CONSTEXPR const _Tp & min(const _Tp &, const _Tp &)
This does what you think it does.
static constexpr bool has_quiet_NaN
static constexpr _Tp infinity() noexcept
static constexpr int min_exponent