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(T) ((T)(-1) < 0)
130 #define __glibcxx_min(T) \
131 (__glibcxx_signed (T) ? -__glibcxx_max (T) - 1 : (T)0)
133 #define __glibcxx_max(T) \
134 (__glibcxx_signed (T) ? \
135 (((((T)1 << (__glibcxx_digits (T) - 1)) - 1) << 1) + 1) : ~(T)0)
137 #define __glibcxx_digits(T) \
138 (sizeof(T) * __CHAR_BIT__ - __glibcxx_signed (T))
141 #define __glibcxx_digits10(T) \
142 (__glibcxx_digits (T) * 643L / 2136)
144 #define __glibcxx_max_digits10(T) \
145 (2 + (T) * 643L / 2136)
147 namespace std _GLIBCXX_VISIBILITY(default)
149 _GLIBCXX_BEGIN_NAMESPACE_VERSION
158 round_indeterminate = -1,
200 static _GLIBCXX_USE_CONSTEXPR
int digits = 0;
205 #if __cplusplus >= 201103L
220 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
224 static _GLIBCXX_USE_CONSTEXPR
int radix = 0;
280 static _GLIBCXX_USE_CONSTEXPR
bool traps =
false;
303 template<
typename _Tp>
308 static _GLIBCXX_CONSTEXPR _Tp
309 min() _GLIBCXX_USE_NOEXCEPT {
return _Tp(); }
312 static _GLIBCXX_CONSTEXPR _Tp
313 max() _GLIBCXX_USE_NOEXCEPT {
return _Tp(); }
315 #if __cplusplus >= 201103L
324 static _GLIBCXX_CONSTEXPR _Tp
325 epsilon() _GLIBCXX_USE_NOEXCEPT {
return _Tp(); }
328 static _GLIBCXX_CONSTEXPR _Tp
332 static _GLIBCXX_CONSTEXPR _Tp
337 static _GLIBCXX_CONSTEXPR _Tp
342 static _GLIBCXX_CONSTEXPR _Tp
348 static _GLIBCXX_CONSTEXPR _Tp
352 #if __cplusplus >= 201103L
353 template<
typename _Tp>
354 struct numeric_limits<const _Tp>
355 :
public numeric_limits<_Tp> { };
357 template<
typename _Tp>
358 struct numeric_limits<volatile _Tp>
359 :
public numeric_limits<_Tp> { };
361 template<
typename _Tp>
362 struct numeric_limits<const volatile _Tp>
363 :
public numeric_limits<_Tp> { };
375 static _GLIBCXX_CONSTEXPR
bool
376 min() _GLIBCXX_USE_NOEXCEPT {
return false; }
378 static _GLIBCXX_CONSTEXPR
bool
379 max() _GLIBCXX_USE_NOEXCEPT {
return true; }
381 #if __cplusplus >= 201103L
382 static constexpr
bool
385 static _GLIBCXX_USE_CONSTEXPR
int digits = 1;
386 static _GLIBCXX_USE_CONSTEXPR
int digits10 = 0;
387 #if __cplusplus >= 201103L
390 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
391 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
392 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
393 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
395 static _GLIBCXX_CONSTEXPR
bool
396 epsilon() _GLIBCXX_USE_NOEXCEPT {
return false; }
398 static _GLIBCXX_CONSTEXPR
bool
399 round_error() _GLIBCXX_USE_NOEXCEPT {
return false; }
406 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
413 static _GLIBCXX_CONSTEXPR
bool
414 infinity() _GLIBCXX_USE_NOEXCEPT {
return false; }
416 static _GLIBCXX_CONSTEXPR
bool
417 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return false; }
419 static _GLIBCXX_CONSTEXPR
bool
422 static _GLIBCXX_CONSTEXPR
bool
423 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return false; }
425 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
426 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
427 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
432 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
444 static _GLIBCXX_CONSTEXPR
char
445 min() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_min(
char); }
447 static _GLIBCXX_CONSTEXPR
char
448 max() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_max(
char); }
450 #if __cplusplus >= 201103L
451 static constexpr
char
455 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
char);
456 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
char);
457 #if __cplusplus >= 201103L
460 static _GLIBCXX_USE_CONSTEXPR
bool is_signed = __glibcxx_signed (
char);
461 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
462 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
463 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
465 static _GLIBCXX_CONSTEXPR
char
466 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
468 static _GLIBCXX_CONSTEXPR
char
476 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
483 static _GLIBCXX_CONSTEXPR
484 char infinity() _GLIBCXX_USE_NOEXCEPT {
return char(); }
486 static _GLIBCXX_CONSTEXPR
char
487 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return char(); }
489 static _GLIBCXX_CONSTEXPR
char
492 static _GLIBCXX_CONSTEXPR
char
493 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<char>(0); }
495 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
496 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
499 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
511 static _GLIBCXX_CONSTEXPR
signed char
512 min() _GLIBCXX_USE_NOEXCEPT {
return -__SCHAR_MAX__ - 1; }
514 static _GLIBCXX_CONSTEXPR
signed char
515 max() _GLIBCXX_USE_NOEXCEPT {
return __SCHAR_MAX__; }
517 #if __cplusplus >= 201103L
518 static constexpr
signed char
522 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
signed char);
523 static _GLIBCXX_USE_CONSTEXPR
int digits10
524 = __glibcxx_digits10 (
signed char);
525 #if __cplusplus >= 201103L
528 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
529 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
530 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
531 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
533 static _GLIBCXX_CONSTEXPR
signed char
534 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
536 static _GLIBCXX_CONSTEXPR
signed char
544 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
551 static _GLIBCXX_CONSTEXPR
signed char
552 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<signed char>(0); }
554 static _GLIBCXX_CONSTEXPR
signed char
555 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<signed char>(0); }
557 static _GLIBCXX_CONSTEXPR
signed char
559 {
return static_cast<signed char>(0); }
561 static _GLIBCXX_CONSTEXPR
signed char
563 {
return static_cast<signed char>(0); }
565 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
566 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
567 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
569 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
581 static _GLIBCXX_CONSTEXPR
unsigned char
582 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
584 static _GLIBCXX_CONSTEXPR
unsigned char
585 max() _GLIBCXX_USE_NOEXCEPT {
return __SCHAR_MAX__ * 2U + 1; }
587 #if __cplusplus >= 201103L
588 static constexpr
unsigned char
592 static _GLIBCXX_USE_CONSTEXPR
int digits
593 = __glibcxx_digits (
unsigned char);
594 static _GLIBCXX_USE_CONSTEXPR
int digits10
595 = __glibcxx_digits10 (
unsigned char);
596 #if __cplusplus >= 201103L
599 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
600 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
601 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
602 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
604 static _GLIBCXX_CONSTEXPR
unsigned char
605 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
607 static _GLIBCXX_CONSTEXPR
unsigned char
615 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
622 static _GLIBCXX_CONSTEXPR
unsigned char
624 {
return static_cast<unsigned char>(0); }
626 static _GLIBCXX_CONSTEXPR
unsigned char
628 {
return static_cast<unsigned char>(0); }
630 static _GLIBCXX_CONSTEXPR
unsigned char
632 {
return static_cast<unsigned char>(0); }
634 static _GLIBCXX_CONSTEXPR
unsigned char
636 {
return static_cast<unsigned char>(0); }
638 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
639 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
640 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
642 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
654 static _GLIBCXX_CONSTEXPR
wchar_t
655 min() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_min (
wchar_t); }
657 static _GLIBCXX_CONSTEXPR
wchar_t
658 max() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_max (
wchar_t); }
660 #if __cplusplus >= 201103L
661 static constexpr
wchar_t
665 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
wchar_t);
666 static _GLIBCXX_USE_CONSTEXPR
int digits10
667 = __glibcxx_digits10 (
wchar_t);
668 #if __cplusplus >= 201103L
671 static _GLIBCXX_USE_CONSTEXPR
bool is_signed = __glibcxx_signed (
wchar_t);
672 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
673 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
674 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
676 static _GLIBCXX_CONSTEXPR
wchar_t
677 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
679 static _GLIBCXX_CONSTEXPR
wchar_t
687 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
694 static _GLIBCXX_CONSTEXPR
wchar_t
695 infinity() _GLIBCXX_USE_NOEXCEPT {
return wchar_t(); }
697 static _GLIBCXX_CONSTEXPR
wchar_t
698 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return wchar_t(); }
700 static _GLIBCXX_CONSTEXPR
wchar_t
703 static _GLIBCXX_CONSTEXPR
wchar_t
704 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return wchar_t(); }
706 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
707 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
710 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
716 #if __cplusplus >= 201103L
723 static constexpr char16_t
724 min() noexcept {
return __glibcxx_min (char16_t); }
726 static constexpr char16_t
727 max() noexcept {
return __glibcxx_max (char16_t); }
729 static constexpr char16_t
732 static constexpr
int digits = __glibcxx_digits (char16_t);
733 static constexpr
int digits10 = __glibcxx_digits10 (char16_t);
735 static constexpr
bool is_signed = __glibcxx_signed (char16_t);
737 static constexpr
bool is_exact =
true;
738 static constexpr
int radix = 2;
740 static constexpr char16_t
741 epsilon() noexcept {
return 0; }
743 static constexpr char16_t
757 static constexpr char16_t
758 infinity() noexcept {
return char16_t(); }
760 static constexpr char16_t
761 quiet_NaN() noexcept {
return char16_t(); }
763 static constexpr char16_t
766 static constexpr char16_t
773 static constexpr
bool traps = __glibcxx_integral_traps;
784 static constexpr char32_t
785 min() noexcept {
return __glibcxx_min (char32_t); }
787 static constexpr char32_t
788 max() noexcept {
return __glibcxx_max (char32_t); }
790 static constexpr char32_t
793 static constexpr
int digits = __glibcxx_digits (char32_t);
794 static constexpr
int digits10 = __glibcxx_digits10 (char32_t);
796 static constexpr
bool is_signed = __glibcxx_signed (char32_t);
798 static constexpr
bool is_exact =
true;
799 static constexpr
int radix = 2;
801 static constexpr char32_t
802 epsilon() noexcept {
return 0; }
804 static constexpr char32_t
818 static constexpr char32_t
819 infinity() noexcept {
return char32_t(); }
821 static constexpr char32_t
822 quiet_NaN() noexcept {
return char32_t(); }
824 static constexpr char32_t
827 static constexpr char32_t
834 static constexpr
bool traps = __glibcxx_integral_traps;
846 static _GLIBCXX_CONSTEXPR
short
847 min() _GLIBCXX_USE_NOEXCEPT {
return -__SHRT_MAX__ - 1; }
849 static _GLIBCXX_CONSTEXPR
short
850 max() _GLIBCXX_USE_NOEXCEPT {
return __SHRT_MAX__; }
852 #if __cplusplus >= 201103L
853 static constexpr
short
857 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
short);
858 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
short);
859 #if __cplusplus >= 201103L
862 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
863 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
864 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
865 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
867 static _GLIBCXX_CONSTEXPR
short
868 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
870 static _GLIBCXX_CONSTEXPR
short
878 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
885 static _GLIBCXX_CONSTEXPR
short
886 infinity() _GLIBCXX_USE_NOEXCEPT {
return short(); }
888 static _GLIBCXX_CONSTEXPR
short
889 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return short(); }
891 static _GLIBCXX_CONSTEXPR
short
894 static _GLIBCXX_CONSTEXPR
short
895 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return short(); }
897 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
898 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
899 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
901 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
913 static _GLIBCXX_CONSTEXPR
unsigned short
914 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
916 static _GLIBCXX_CONSTEXPR
unsigned short
917 max() _GLIBCXX_USE_NOEXCEPT {
return __SHRT_MAX__ * 2U + 1; }
919 #if __cplusplus >= 201103L
920 static constexpr
unsigned short
924 static _GLIBCXX_USE_CONSTEXPR
int digits
925 = __glibcxx_digits (
unsigned short);
926 static _GLIBCXX_USE_CONSTEXPR
int digits10
927 = __glibcxx_digits10 (
unsigned short);
928 #if __cplusplus >= 201103L
931 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
932 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
933 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
934 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
936 static _GLIBCXX_CONSTEXPR
unsigned short
937 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
939 static _GLIBCXX_CONSTEXPR
unsigned short
947 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
954 static _GLIBCXX_CONSTEXPR
unsigned short
956 {
return static_cast<unsigned short>(0); }
958 static _GLIBCXX_CONSTEXPR
unsigned short
960 {
return static_cast<unsigned short>(0); }
962 static _GLIBCXX_CONSTEXPR
unsigned short
964 {
return static_cast<unsigned short>(0); }
966 static _GLIBCXX_CONSTEXPR
unsigned short
968 {
return static_cast<unsigned short>(0); }
970 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
971 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
972 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
974 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
986 static _GLIBCXX_CONSTEXPR
int
987 min() _GLIBCXX_USE_NOEXCEPT {
return -__INT_MAX__ - 1; }
989 static _GLIBCXX_CONSTEXPR
int
990 max() _GLIBCXX_USE_NOEXCEPT {
return __INT_MAX__; }
992 #if __cplusplus >= 201103L
997 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
int);
998 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
int);
999 #if __cplusplus >= 201103L
1002 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1003 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1004 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1005 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1007 static _GLIBCXX_CONSTEXPR
int
1008 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1010 static _GLIBCXX_CONSTEXPR
int
1018 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1025 static _GLIBCXX_CONSTEXPR
int
1026 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1028 static _GLIBCXX_CONSTEXPR
int
1029 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1031 static _GLIBCXX_CONSTEXPR
int
1032 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1034 static _GLIBCXX_CONSTEXPR
int
1035 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<int>(0); }
1037 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1038 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1039 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1041 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1053 static _GLIBCXX_CONSTEXPR
unsigned int
1054 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1056 static _GLIBCXX_CONSTEXPR
unsigned int
1057 max() _GLIBCXX_USE_NOEXCEPT {
return __INT_MAX__ * 2U + 1; }
1059 #if __cplusplus >= 201103L
1060 static constexpr
unsigned int
1064 static _GLIBCXX_USE_CONSTEXPR
int digits
1065 = __glibcxx_digits (
unsigned int);
1066 static _GLIBCXX_USE_CONSTEXPR
int digits10
1067 = __glibcxx_digits10 (
unsigned int);
1068 #if __cplusplus >= 201103L
1071 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
1072 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1073 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1074 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1076 static _GLIBCXX_CONSTEXPR
unsigned int
1077 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1079 static _GLIBCXX_CONSTEXPR
unsigned int
1087 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1094 static _GLIBCXX_CONSTEXPR
unsigned int
1095 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<unsigned int>(0); }
1097 static _GLIBCXX_CONSTEXPR
unsigned int
1099 {
return static_cast<unsigned int>(0); }
1101 static _GLIBCXX_CONSTEXPR
unsigned int
1103 {
return static_cast<unsigned int>(0); }
1105 static _GLIBCXX_CONSTEXPR
unsigned int
1107 {
return static_cast<unsigned int>(0); }
1109 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1110 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1111 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
1113 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1125 static _GLIBCXX_CONSTEXPR
long
1126 min() _GLIBCXX_USE_NOEXCEPT {
return -__LONG_MAX__ - 1; }
1128 static _GLIBCXX_CONSTEXPR
long
1129 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_MAX__; }
1131 #if __cplusplus >= 201103L
1132 static constexpr
long
1136 static _GLIBCXX_USE_CONSTEXPR
int digits = __glibcxx_digits (
long);
1137 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __glibcxx_digits10 (
long);
1138 #if __cplusplus >= 201103L
1141 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1142 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1143 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1144 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1146 static _GLIBCXX_CONSTEXPR
long
1147 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1149 static _GLIBCXX_CONSTEXPR
long
1157 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1164 static _GLIBCXX_CONSTEXPR
long
1165 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1167 static _GLIBCXX_CONSTEXPR
long
1168 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1170 static _GLIBCXX_CONSTEXPR
long
1171 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1173 static _GLIBCXX_CONSTEXPR
long
1174 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long>(0); }
1176 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1177 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1178 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1180 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1192 static _GLIBCXX_CONSTEXPR
unsigned long
1193 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1195 static _GLIBCXX_CONSTEXPR
unsigned long
1196 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_MAX__ * 2UL + 1; }
1198 #if __cplusplus >= 201103L
1199 static constexpr
unsigned long
1203 static _GLIBCXX_USE_CONSTEXPR
int digits
1204 = __glibcxx_digits (
unsigned long);
1205 static _GLIBCXX_USE_CONSTEXPR
int digits10
1206 = __glibcxx_digits10 (
unsigned long);
1207 #if __cplusplus >= 201103L
1210 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
1211 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1212 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1213 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1215 static _GLIBCXX_CONSTEXPR
unsigned long
1216 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1218 static _GLIBCXX_CONSTEXPR
unsigned long
1226 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1233 static _GLIBCXX_CONSTEXPR
unsigned long
1235 {
return static_cast<unsigned long>(0); }
1237 static _GLIBCXX_CONSTEXPR
unsigned long
1239 {
return static_cast<unsigned long>(0); }
1241 static _GLIBCXX_CONSTEXPR
unsigned long
1243 {
return static_cast<unsigned long>(0); }
1245 static _GLIBCXX_CONSTEXPR
unsigned long
1247 {
return static_cast<unsigned long>(0); }
1249 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1250 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1251 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
1253 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1265 static _GLIBCXX_CONSTEXPR
long long
1266 min() _GLIBCXX_USE_NOEXCEPT {
return -__LONG_LONG_MAX__ - 1; }
1268 static _GLIBCXX_CONSTEXPR
long long
1269 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_LONG_MAX__; }
1271 #if __cplusplus >= 201103L
1272 static constexpr
long long
1276 static _GLIBCXX_USE_CONSTEXPR
int digits
1277 = __glibcxx_digits (
long long);
1278 static _GLIBCXX_USE_CONSTEXPR
int digits10
1279 = __glibcxx_digits10 (
long long);
1280 #if __cplusplus >= 201103L
1283 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1284 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1285 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1286 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1288 static _GLIBCXX_CONSTEXPR
long long
1289 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1291 static _GLIBCXX_CONSTEXPR
long long
1299 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1306 static _GLIBCXX_CONSTEXPR
long long
1307 infinity() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long long>(0); }
1309 static _GLIBCXX_CONSTEXPR
long long
1310 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long long>(0); }
1312 static _GLIBCXX_CONSTEXPR
long long
1314 {
return static_cast<long long>(0); }
1316 static _GLIBCXX_CONSTEXPR
long long
1317 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return static_cast<long long>(0); }
1319 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1320 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1321 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1323 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1335 static _GLIBCXX_CONSTEXPR
unsigned long long
1336 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1338 static _GLIBCXX_CONSTEXPR
unsigned long long
1339 max() _GLIBCXX_USE_NOEXCEPT {
return __LONG_LONG_MAX__ * 2ULL + 1; }
1341 #if __cplusplus >= 201103L
1342 static constexpr
unsigned long long
1346 static _GLIBCXX_USE_CONSTEXPR
int digits
1347 = __glibcxx_digits (
unsigned long long);
1348 static _GLIBCXX_USE_CONSTEXPR
int digits10
1349 = __glibcxx_digits10 (
unsigned long long);
1350 #if __cplusplus >= 201103L
1353 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
1354 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1355 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1356 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1358 static _GLIBCXX_CONSTEXPR
unsigned long long
1359 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1361 static _GLIBCXX_CONSTEXPR
unsigned long long
1369 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1376 static _GLIBCXX_CONSTEXPR
unsigned long long
1378 {
return static_cast<unsigned long long>(0); }
1380 static _GLIBCXX_CONSTEXPR
unsigned long long
1382 {
return static_cast<unsigned long long>(0); }
1384 static _GLIBCXX_CONSTEXPR
unsigned long long
1386 {
return static_cast<unsigned long long>(0); }
1388 static _GLIBCXX_CONSTEXPR
unsigned long long
1390 {
return static_cast<unsigned long long>(0); }
1392 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1393 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1394 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
1396 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1402 #if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
1409 static _GLIBCXX_CONSTEXPR __int128
1410 min() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_min (__int128); }
1412 static _GLIBCXX_CONSTEXPR __int128
1413 max() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_max (__int128); }
1415 #if __cplusplus >= 201103L
1416 static constexpr __int128
1420 static _GLIBCXX_USE_CONSTEXPR
int digits
1421 = __glibcxx_digits (__int128);
1422 static _GLIBCXX_USE_CONSTEXPR
int digits10
1423 = __glibcxx_digits10 (__int128);
1424 #if __cplusplus >= 201103L
1427 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1428 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1429 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1430 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1432 static _GLIBCXX_CONSTEXPR __int128
1433 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1435 static _GLIBCXX_CONSTEXPR __int128
1443 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1450 static _GLIBCXX_CONSTEXPR __int128
1452 {
return static_cast<__int128
>(0); }
1454 static _GLIBCXX_CONSTEXPR __int128
1456 {
return static_cast<__int128
>(0); }
1458 static _GLIBCXX_CONSTEXPR __int128
1460 {
return static_cast<__int128
>(0); }
1462 static _GLIBCXX_CONSTEXPR __int128
1464 {
return static_cast<__int128
>(0); }
1466 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1467 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1468 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1470 static _GLIBCXX_USE_CONSTEXPR
bool traps
1471 = __glibcxx_integral_traps;
1479 struct numeric_limits<unsigned __int128>
1483 static _GLIBCXX_CONSTEXPR
unsigned __int128
1484 min() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1486 static _GLIBCXX_CONSTEXPR
unsigned __int128
1487 max() _GLIBCXX_USE_NOEXCEPT {
return __glibcxx_max (
unsigned __int128); }
1489 #if __cplusplus >= 201103L
1490 static constexpr
unsigned __int128
1494 static _GLIBCXX_USE_CONSTEXPR
int digits
1495 = __glibcxx_digits (
unsigned __int128);
1496 static _GLIBCXX_USE_CONSTEXPR
int digits10
1497 = __glibcxx_digits10 (
unsigned __int128);
1498 #if __cplusplus >= 201103L
1501 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
false;
1502 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
true;
1503 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
true;
1504 static _GLIBCXX_USE_CONSTEXPR
int radix = 2;
1506 static _GLIBCXX_CONSTEXPR
unsigned __int128
1507 epsilon() _GLIBCXX_USE_NOEXCEPT {
return 0; }
1509 static _GLIBCXX_CONSTEXPR
unsigned __int128
1517 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity =
false;
1524 static _GLIBCXX_CONSTEXPR
unsigned __int128
1526 {
return static_cast<unsigned __int128
>(0); }
1528 static _GLIBCXX_CONSTEXPR
unsigned __int128
1530 {
return static_cast<unsigned __int128
>(0); }
1532 static _GLIBCXX_CONSTEXPR
unsigned __int128
1534 {
return static_cast<unsigned __int128
>(0); }
1536 static _GLIBCXX_CONSTEXPR
unsigned __int128
1538 {
return static_cast<unsigned __int128
>(0); }
1540 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559 =
false;
1541 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1542 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
true;
1544 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_integral_traps;
1557 static _GLIBCXX_CONSTEXPR
float
1558 min() _GLIBCXX_USE_NOEXCEPT {
return __FLT_MIN__; }
1560 static _GLIBCXX_CONSTEXPR
float
1561 max() _GLIBCXX_USE_NOEXCEPT {
return __FLT_MAX__; }
1563 #if __cplusplus >= 201103L
1564 static constexpr
float
1565 lowest() noexcept {
return -__FLT_MAX__; }
1568 static _GLIBCXX_USE_CONSTEXPR
int digits = __FLT_MANT_DIG__;
1569 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __FLT_DIG__;
1570 #if __cplusplus >= 201103L
1572 = __glibcxx_max_digits10 (__FLT_MANT_DIG__);
1574 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1575 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
false;
1576 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
1577 static _GLIBCXX_USE_CONSTEXPR
int radix = __FLT_RADIX__;
1579 static _GLIBCXX_CONSTEXPR
float
1580 epsilon() _GLIBCXX_USE_NOEXCEPT {
return __FLT_EPSILON__; }
1582 static _GLIBCXX_CONSTEXPR
float
1583 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0.5F; }
1585 static _GLIBCXX_USE_CONSTEXPR
int min_exponent = __FLT_MIN_EXP__;
1586 static _GLIBCXX_USE_CONSTEXPR
int min_exponent10 = __FLT_MIN_10_EXP__;
1587 static _GLIBCXX_USE_CONSTEXPR
int max_exponent = __FLT_MAX_EXP__;
1588 static _GLIBCXX_USE_CONSTEXPR
int max_exponent10 = __FLT_MAX_10_EXP__;
1590 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity = __FLT_HAS_INFINITY__;
1591 static _GLIBCXX_USE_CONSTEXPR
bool has_quiet_NaN = __FLT_HAS_QUIET_NAN__;
1596 = __glibcxx_float_has_denorm_loss;
1598 static _GLIBCXX_CONSTEXPR
float
1599 infinity() _GLIBCXX_USE_NOEXCEPT {
return __builtin_huge_valf(); }
1601 static _GLIBCXX_CONSTEXPR
float
1602 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nanf(
""); }
1604 static _GLIBCXX_CONSTEXPR
float
1605 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nansf(
""); }
1607 static _GLIBCXX_CONSTEXPR
float
1608 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return __FLT_DENORM_MIN__; }
1610 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559
1612 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1613 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1615 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_float_traps;
1617 = __glibcxx_float_tinyness_before;
1622 #undef __glibcxx_float_has_denorm_loss
1623 #undef __glibcxx_float_traps
1624 #undef __glibcxx_float_tinyness_before
1632 static _GLIBCXX_CONSTEXPR
double
1633 min() _GLIBCXX_USE_NOEXCEPT {
return __DBL_MIN__; }
1635 static _GLIBCXX_CONSTEXPR
double
1636 max() _GLIBCXX_USE_NOEXCEPT {
return __DBL_MAX__; }
1638 #if __cplusplus >= 201103L
1639 static constexpr
double
1640 lowest() noexcept {
return -__DBL_MAX__; }
1643 static _GLIBCXX_USE_CONSTEXPR
int digits = __DBL_MANT_DIG__;
1644 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __DBL_DIG__;
1645 #if __cplusplus >= 201103L
1647 = __glibcxx_max_digits10 (__DBL_MANT_DIG__);
1649 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1650 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
false;
1651 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
1652 static _GLIBCXX_USE_CONSTEXPR
int radix = __FLT_RADIX__;
1654 static _GLIBCXX_CONSTEXPR
double
1655 epsilon() _GLIBCXX_USE_NOEXCEPT {
return __DBL_EPSILON__; }
1657 static _GLIBCXX_CONSTEXPR
double
1658 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0.5; }
1660 static _GLIBCXX_USE_CONSTEXPR
int min_exponent = __DBL_MIN_EXP__;
1661 static _GLIBCXX_USE_CONSTEXPR
int min_exponent10 = __DBL_MIN_10_EXP__;
1662 static _GLIBCXX_USE_CONSTEXPR
int max_exponent = __DBL_MAX_EXP__;
1663 static _GLIBCXX_USE_CONSTEXPR
int max_exponent10 = __DBL_MAX_10_EXP__;
1665 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity = __DBL_HAS_INFINITY__;
1666 static _GLIBCXX_USE_CONSTEXPR
bool has_quiet_NaN = __DBL_HAS_QUIET_NAN__;
1671 = __glibcxx_double_has_denorm_loss;
1673 static _GLIBCXX_CONSTEXPR
double
1674 infinity() _GLIBCXX_USE_NOEXCEPT {
return __builtin_huge_val(); }
1676 static _GLIBCXX_CONSTEXPR
double
1677 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nan(
""); }
1679 static _GLIBCXX_CONSTEXPR
double
1680 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nans(
""); }
1682 static _GLIBCXX_CONSTEXPR
double
1683 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return __DBL_DENORM_MIN__; }
1685 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559
1687 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1688 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1690 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_double_traps;
1692 = __glibcxx_double_tinyness_before;
1697 #undef __glibcxx_double_has_denorm_loss
1698 #undef __glibcxx_double_traps
1699 #undef __glibcxx_double_tinyness_before
1707 static _GLIBCXX_CONSTEXPR
long double
1708 min() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_MIN__; }
1710 static _GLIBCXX_CONSTEXPR
long double
1711 max() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_MAX__; }
1713 #if __cplusplus >= 201103L
1714 static constexpr
long double
1715 lowest() noexcept {
return -__LDBL_MAX__; }
1718 static _GLIBCXX_USE_CONSTEXPR
int digits = __LDBL_MANT_DIG__;
1719 static _GLIBCXX_USE_CONSTEXPR
int digits10 = __LDBL_DIG__;
1720 #if __cplusplus >= 201103L
1722 = __glibcxx_max_digits10 (__LDBL_MANT_DIG__);
1724 static _GLIBCXX_USE_CONSTEXPR
bool is_signed =
true;
1725 static _GLIBCXX_USE_CONSTEXPR
bool is_integer =
false;
1726 static _GLIBCXX_USE_CONSTEXPR
bool is_exact =
false;
1727 static _GLIBCXX_USE_CONSTEXPR
int radix = __FLT_RADIX__;
1729 static _GLIBCXX_CONSTEXPR
long double
1730 epsilon() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_EPSILON__; }
1732 static _GLIBCXX_CONSTEXPR
long double
1733 round_error() _GLIBCXX_USE_NOEXCEPT {
return 0.5L; }
1735 static _GLIBCXX_USE_CONSTEXPR
int min_exponent = __LDBL_MIN_EXP__;
1736 static _GLIBCXX_USE_CONSTEXPR
int min_exponent10 = __LDBL_MIN_10_EXP__;
1737 static _GLIBCXX_USE_CONSTEXPR
int max_exponent = __LDBL_MAX_EXP__;
1738 static _GLIBCXX_USE_CONSTEXPR
int max_exponent10 = __LDBL_MAX_10_EXP__;
1740 static _GLIBCXX_USE_CONSTEXPR
bool has_infinity = __LDBL_HAS_INFINITY__;
1741 static _GLIBCXX_USE_CONSTEXPR
bool has_quiet_NaN = __LDBL_HAS_QUIET_NAN__;
1746 = __glibcxx_long_double_has_denorm_loss;
1748 static _GLIBCXX_CONSTEXPR
long double
1749 infinity() _GLIBCXX_USE_NOEXCEPT {
return __builtin_huge_vall(); }
1751 static _GLIBCXX_CONSTEXPR
long double
1752 quiet_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nanl(
""); }
1754 static _GLIBCXX_CONSTEXPR
long double
1755 signaling_NaN() _GLIBCXX_USE_NOEXCEPT {
return __builtin_nansl(
""); }
1757 static _GLIBCXX_CONSTEXPR
long double
1758 denorm_min() _GLIBCXX_USE_NOEXCEPT {
return __LDBL_DENORM_MIN__; }
1760 static _GLIBCXX_USE_CONSTEXPR
bool is_iec559
1762 static _GLIBCXX_USE_CONSTEXPR
bool is_bounded =
true;
1763 static _GLIBCXX_USE_CONSTEXPR
bool is_modulo =
false;
1765 static _GLIBCXX_USE_CONSTEXPR
bool traps = __glibcxx_long_double_traps;
1767 __glibcxx_long_double_tinyness_before;
1772 #undef __glibcxx_long_double_has_denorm_loss
1773 #undef __glibcxx_long_double_traps
1774 #undef __glibcxx_long_double_tinyness_before
1776 _GLIBCXX_END_NAMESPACE_VERSION
1779 #undef __glibcxx_signed
1780 #undef __glibcxx_min
1781 #undef __glibcxx_max
1782 #undef __glibcxx_digits
1783 #undef __glibcxx_digits10
1784 #undef __glibcxx_max_digits10
1786 #endif // _GLIBCXX_NUMERIC_LIMITS
static constexpr int max_exponent
static constexpr bool is_iec559
To the nearest representable value.
static constexpr int digits
static constexpr int max_exponent10
static constexpr int max_digits10
static constexpr bool tinyness_before
static constexpr float_round_style round_style
Properties of fundamental types.
static constexpr _Tp signaling_NaN() noexcept
static constexpr bool is_signed
float_round_style
Describes the rounding style for floating-point types.
static constexpr bool has_denorm_loss
static constexpr _Tp max() noexcept
float_denorm_style
Describes the denormalization for floating-point types.
static constexpr _Tp round_error() noexcept
static constexpr bool is_specialized
static constexpr int min_exponent
static constexpr _Tp quiet_NaN() noexcept
static constexpr int digits10
static constexpr bool has_infinity
static constexpr _Tp denorm_min() noexcept
static constexpr bool has_signaling_NaN
static constexpr _Tp lowest() noexcept
static constexpr int radix
static constexpr _Tp infinity() noexcept
static constexpr bool is_bounded
static constexpr int min_exponent10
Indeterminate at compile time whether denormalized values are allowed.
static constexpr bool is_modulo
The type allows denormalized values.
Part of std::numeric_limits.
static constexpr bool is_integer
static constexpr _Tp epsilon() noexcept
static constexpr float_denorm_style has_denorm
static constexpr bool is_exact
The type does not allow denormalized values.
static constexpr bool traps
static constexpr _Tp min() noexcept
static constexpr bool has_quiet_NaN