std_limits.h (__glibcpp_f32_infinity_bytes, [...]): Remove.
* include/std/std_limits.h (__glibcpp_f32_infinity_bytes, __glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes, __glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes, __glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes, __glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes, __glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes, __glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes, __glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes, __glibcpp_long_double_has_infinity): Remove. (std::numeric_limits<float>, std::numeric_limits<double>, std::numeric_limits<long double>): Use __builtin_huge_val to implement has_infinity and infinity(). * src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity, __glibcpp_long_double_infinity): Remove. From-SVN: r56821
This commit is contained in:
parent
ab5e26156f
commit
65e32b88a6
@ -1,3 +1,20 @@
|
||||
2002-09-04 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
|
||||
__glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes,
|
||||
__glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes,
|
||||
__glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes,
|
||||
__glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes,
|
||||
__glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes,
|
||||
__glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes,
|
||||
__glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes,
|
||||
__glibcpp_long_double_has_infinity): Remove.
|
||||
(std::numeric_limits<float>, std::numeric_limits<double>,
|
||||
std::numeric_limits<long double>): Use __builtin_huge_val
|
||||
to implement has_infinity and infinity().
|
||||
* src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity,
|
||||
__glibcpp_long_double_infinity): Remove.
|
||||
|
||||
2002-09-03 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* include/std/std_limits.h (__glibcpp_f32_min, __glibcpp_f32_max,
|
||||
|
@ -152,8 +152,6 @@
|
||||
|
||||
#define __glibcpp_f32_round_error 1.0F
|
||||
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
|
||||
# define __glibcpp_f32_infinity_bytes { 0x7f800000 }
|
||||
# define __glibcpp_f32_has_infinity true
|
||||
# define __glibcpp_f32_QNaN_bytes { 0x7fc00000 }
|
||||
# define __glibcpp_f32_has_QNaN true
|
||||
# define __glibcpp_f32_SNaN_bytes { 0x7f800001 }
|
||||
@ -162,10 +160,6 @@
|
||||
# define __glibcpp_f32_has_denorm denorm_present
|
||||
# define __glibcpp_f32_is_iec559 true
|
||||
#endif
|
||||
#ifndef __glibcpp_f32_infinity_bytes
|
||||
# define __glibcpp_f32_infinity_bytes { }
|
||||
# define __glibcpp_f32_has_infinity false
|
||||
#endif
|
||||
#ifndef __glibcpp_f32_QNaN_bytes
|
||||
# define __glibcpp_f32_QNaN_bytes { }
|
||||
# define __glibcpp_f32_has_QNaN false
|
||||
@ -184,26 +178,19 @@
|
||||
#define __glibcpp_f64_round_error 1.0
|
||||
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
|
||||
# if __TARGET_FLOAT_WORDS_ORDER__ == __GCC_BIG_ENDIAN__
|
||||
# define __glibcpp_f64_infinity_bytes { 0x7ff00000, 0x0 }
|
||||
# define __glibcpp_f64_QNaN_bytes { 0x7ff80000, 0x0 }
|
||||
# define __glibcpp_f64_SNaN_bytes { 0x7ff00000, 0x1 }
|
||||
# define __glibcpp_f64_denorm_min_bytes { 0x0, 0x1 }
|
||||
# else
|
||||
# define __glibcpp_f64_infinity_bytes { 0x0, 0x7ff00000 }
|
||||
# define __glibcpp_f64_QNaN_bytes { 0x0, 0x7ff80000 }
|
||||
# define __glibcpp_f64_SNaN_bytes { 0x1, 0x7ff00000 }
|
||||
# define __glibcpp_f64_denorm_min_bytes { 0x1, 0x0 }
|
||||
# endif
|
||||
# define __glibcpp_f64_has_infinity true
|
||||
# define __glibcpp_f64_has_QNaN true
|
||||
# define __glibcpp_f64_has_SNaN true
|
||||
# define __glibcpp_f64_has_denorm denorm_present
|
||||
# define __glibcpp_f64_is_iec559 true
|
||||
#endif
|
||||
#ifndef __glibcpp_f64_infinity_bytes
|
||||
# define __glibcpp_f64_infinity_bytes { }
|
||||
# define __glibcpp_f64_has_infinity false
|
||||
#endif
|
||||
#ifndef __glibcpp_f64_QNaN_bytes
|
||||
# define __glibcpp_f64_QNaN_bytes { }
|
||||
# define __glibcpp_f64_has_QNaN false
|
||||
@ -222,8 +209,6 @@
|
||||
#define __glibcpp_f80_round_error 1.0L
|
||||
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
|
||||
# if __TARGET_BYTES_ORDER__ == __GCC_BIG_ENDIAN__
|
||||
# define __glibcpp_f80_infinity_bytes \
|
||||
{ 0x7f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
|
||||
# define __glibcpp_f80_QNaN_bytes \
|
||||
{ 0x7f, 0xff, 0xC0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
|
||||
# define __glibcpp_f80_SNaN_bytes \
|
||||
@ -231,8 +216,6 @@
|
||||
# define __glibcpp_f80_denorm_min_bytes \
|
||||
{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1 }
|
||||
# else
|
||||
# define __glibcpp_f80_infinity_bytes \
|
||||
{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f }
|
||||
# define __glibcpp_f80_QNaN_bytes \
|
||||
{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC0, 0xff, 0x7f }
|
||||
# define __glibcpp_f80_SNaN_bytes \
|
||||
@ -240,16 +223,11 @@
|
||||
# define __glibcpp_f80_denorm_min_bytes \
|
||||
{ 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
|
||||
# endif
|
||||
# define __glibcpp_f80_has_infinity true
|
||||
# define __glibcpp_f80_has_QNaN true
|
||||
# define __glibcpp_f80_has_SNaN true
|
||||
# define __glibcpp_f80_has_denorm denorm_present
|
||||
# define __glibcpp_f80_is_iec559 true
|
||||
#endif
|
||||
#ifndef __glibcpp_f80_infinity_bytes
|
||||
# define __glibcpp_f80_infinity_bytes { }
|
||||
# define __glibcpp_f80_has_infinity false
|
||||
#endif
|
||||
#ifndef __glibcpp_f80_QNaN_bytes
|
||||
# define __glibcpp_f80_QNaN_bytes { }
|
||||
# define __glibcpp_f80_has_QNaN false
|
||||
@ -268,26 +246,19 @@
|
||||
#define __glibcpp_f96_round_error 1.0L
|
||||
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
|
||||
# if __TARGET_BYTES_ORDER__ == __GCC_BIG_ENDIAN__
|
||||
# define __glibcpp_f96_infinity_bytes { 0x7ff0000, 0x0, 0x0 }
|
||||
# define __glibcpp_f96_QNaN_bytes { 0x7ff80000, 0x0, 0x0 }
|
||||
# define __glibcpp_f96_SNaN_bytes { 0x7ff00000, 0x0, 0x1 }
|
||||
# define __glibcpp_f96_denorm_min_bytes { 0x0, 0x0, 0x1 }
|
||||
# else
|
||||
# define __glibcpp_f96_infinity_bytes { 0x0, 0x0, 0x7ff0000 }
|
||||
# define __glibcpp_f96_QNaN_bytes { 0x0, 0x0, 0x7ff80000 }
|
||||
# define __glibcpp_f96_SNaN_bytes { 0x1, 0x0, 0x7ff00000 }
|
||||
# define __glibcpp_f96_denorm_min_bytes { 0x1, 0x0, 0x0 }
|
||||
# endif
|
||||
# define __glibcpp_f96_has_infinity true
|
||||
# define __glibcpp_f96_has_QNaN true
|
||||
# define __glibcpp_f96_has_SNaN true
|
||||
# define __glibcpp_f96_has_denorm denorm_present
|
||||
# define __glibcpp_f96_is_iec559 true
|
||||
#endif
|
||||
#ifndef __glibcpp_f96_infinity_bytes
|
||||
# define __glibcpp_f96_infinity_bytes { }
|
||||
# define __glibcpp_f96_has_infinity false
|
||||
#endif
|
||||
#ifndef __glibcpp_f96_QNaN_bytes
|
||||
# define __glibcpp_f96_QNaN_bytes { }
|
||||
# define __glibcpp_f96_has_QNaN false
|
||||
@ -303,25 +274,18 @@
|
||||
#define __glibcpp_f128_round_error 1.0L
|
||||
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
|
||||
# if __TARGET_FLOAT_WORDS_ORDER__ == __GCC_BIG_ENDIAN__
|
||||
# define __glibcpp_f128_infinity_bytes { 0x7fff0000, 0x0, 0x0, 0x0 }
|
||||
# define __glibcpp_f128_QNaN_bytes { 0x7fff0800, 0x0, 0x0, 0x0 }
|
||||
# define __glibcpp_f128_SNaN_bytes { 0x7fff0000, 0x0, 0x0, 0x1 }
|
||||
# define __glibcpp_f128_denorm_min_bytes { 0x0, 0x0, 0x0, 0x1 }
|
||||
# else
|
||||
# define __glibcpp_f128_infinity_bytes { 0x0, 0x0, 0x0, 0x7fff0000 }
|
||||
# define __glibcpp_f128_QNaN_bytes { 0x0, 0x0, 0x0, 0x7fff0800 }
|
||||
# define __glibcpp_f128_SNaN_bytes { 0x1, 0x0, 0x0, 0x7fff0000 }
|
||||
# define __glibcpp_f128_denorm_min_bytes { 0x1, 0x0, 0x0, 0x0 }
|
||||
# endif
|
||||
# define __glibcpp_f128_has_infinity true
|
||||
# define __glibcpp_f128_has_QNaN true
|
||||
# define __glibcpp_f128_has_SNaN true
|
||||
# define __glibcpp_f128_has_denorm denorm_present
|
||||
#endif
|
||||
#ifndef __glibcpp_f128_infinity_bytes
|
||||
# define __glibcpp_f128_infinity_bytes { }
|
||||
# define __glibcpp_f128_has_infinity false
|
||||
#endif
|
||||
#ifndef __glibcpp_f128_QNaN_bytes
|
||||
# define __glibcpp_f128_QNaN_bytes { }
|
||||
# define __glibcpp_f128_has_QNaN false
|
||||
@ -659,33 +623,27 @@
|
||||
|
||||
#if __FLOAT_BIT__ == 32
|
||||
# define __glibcpp_float_round_error __glibcpp_f32_round_error
|
||||
# define __glibcpp_float_infinity_bytes __glibcpp_f32_infinity_bytes
|
||||
# define __glibcpp_float_QNaN_bytes __glibcpp_f32_QNaN_bytes
|
||||
# define __glibcpp_float_SNaN_bytes __glibcpp_f32_SNaN_bytes
|
||||
# define __glibcpp_float_denorm_min_bytes __glibcpp_f32_denorm_min_bytes
|
||||
# define __glibcpp_float_has_infinity __glibcpp_f32_has_infinity
|
||||
# define __glibcpp_float_has_QNaN __glibcpp_f32_has_QNaN
|
||||
# define __glibcpp_float_has_SNaN __glibcpp_f32_has_SNaN
|
||||
# define __glibcpp_float_has_denorm __glibcpp_f32_has_denorm
|
||||
# define __glibcpp_float_is_iec559 __glibcpp_f32_is_iec559
|
||||
#elif __FLOAT_BIT__ == 64
|
||||
# define __glibcpp_float_round_error __glibcpp_f64_round_error
|
||||
# define __glibcpp_float_infinity_bytes __glibcpp_f64_infinity_bytes
|
||||
# define __glibcpp_float_QNaN_bytes __glibcpp_f64_QNaN_bytes
|
||||
# define __glibcpp_float_SNaN_bytes __glibcpp_f64_SNaN_bytes
|
||||
# define __glibcpp_float_denorm_min_bytes __glibcpp_f64_denorm_min_bytes
|
||||
# define __glibcpp_float_has_infinity __glibcpp_f64_has_infinity
|
||||
# define __glibcpp_float_has_QNaN __glibcpp_f64_has_QNaN
|
||||
# define __glibcpp_float_has_SNaN __glibcpp_f64_has_SNaN
|
||||
# define __glibcpp_float_has_denorm __glibcpp_f64_has_denorm
|
||||
# define __glibcpp_float_is_iec559 __glibcpp_f64_is_iec559
|
||||
#elif __FLOAT_BIT__ == 80
|
||||
# define __glibcpp_float_round_error __glibcpp_f80_round_error
|
||||
# define __glibcpp_float_infinity_bytes __glibcpp_f80_infinity_bytes
|
||||
# define __glibcpp_float_QNaN_bytes __glibcpp_f80_QNaN_bytes
|
||||
# define __glibcpp_float_SNaN_bytes __glibcpp_f80_SNaN_bytes
|
||||
# define __glibcpp_float_denorm_min_bytes __glibcpp_f80_denorm_min_bytes
|
||||
# define __glibcpp_float_has_infinity __glibcpp_f80_has_infinity
|
||||
# define __glibcpp_float_has_QNaN __glibcpp_f80_has_QNaN
|
||||
# define __glibcpp_float_has_SNaN __glibcpp_f80_has_SNaN
|
||||
# define __glibcpp_float_has_denorm __glibcpp_f80_has_denorm
|
||||
@ -696,11 +654,6 @@
|
||||
|
||||
// Default values. Should be overriden in configuration files if necessary.
|
||||
|
||||
#ifndef __glibcpp_float_infinity_bytes
|
||||
# define __glibcpp_float_infinity_bytes { }
|
||||
# define __glibcpp_float_has_infinty false
|
||||
#endif
|
||||
|
||||
#ifndef __glibcpp_float_QNaN_bytes
|
||||
# define __glibcpp_float_QNaN_bytes { }
|
||||
# define __glibcpp_float_has_QNaN false
|
||||
@ -748,33 +701,27 @@
|
||||
|
||||
#if __DOUBLE_BIT__ == 32
|
||||
# define __glibcpp_double_round_error __glibcpp_f32_round_error
|
||||
# define __glibcpp_double_infinity_bytes __glibcpp_f32_infinity_bytes
|
||||
# define __glibcpp_double_QNaN_bytes __glibcpp_f32_QNaN_bytes
|
||||
# define __glibcpp_double_SNaN_bytes __glibcpp_f32_SNaN_bytes
|
||||
# define __glibcpp_double_denorm_min_bytes __glibcpp_f32_denorm_min_bytes
|
||||
# define __glibcpp_double_has_infinity __glibcpp_f32_has_infinity
|
||||
# define __glibcpp_double_has_QNaN __glibcpp_f32_has_QNaN
|
||||
# define __glibcpp_double_has_SNaN __glibcpp_f32_has_SNaN
|
||||
# define __glibcpp_double_has_denorm __glibcpp_f32_has_denorm
|
||||
# define __glibcpp_double_is_iec559 __glibcpp_f32_is_iec559
|
||||
#elif __DOUBLE_BIT__ == 64
|
||||
# define __glibcpp_double_round_error __glibcpp_f64_round_error
|
||||
# define __glibcpp_double_infinity_bytes __glibcpp_f64_infinity_bytes
|
||||
# define __glibcpp_double_QNaN_bytes __glibcpp_f64_QNaN_bytes
|
||||
# define __glibcpp_double_SNaN_bytes __glibcpp_f64_SNaN_bytes
|
||||
# define __glibcpp_double_denorm_min_bytes __glibcpp_f64_denorm_min_bytes
|
||||
# define __glibcpp_double_has_infinity __glibcpp_f64_has_infinity
|
||||
# define __glibcpp_double_has_QNaN __glibcpp_f64_has_QNaN
|
||||
# define __glibcpp_double_has_SNaN __glibcpp_f64_has_SNaN
|
||||
# define __glibcpp_double_has_denorm __glibcpp_f64_has_denorm
|
||||
# define __glibcpp_double_is_iec559 __glibcpp_f64_is_iec559
|
||||
#elif __DOUBLE_BIT__ == 80
|
||||
# define __glibcpp_double_round_error __glibcpp_f80_round_error
|
||||
# define __glibcpp_double_infinity_bytes __glibcpp_f80_infinity_bytes
|
||||
# define __glibcpp_double_QNaN_bytes __glibcpp_f80_QNaN_bytes
|
||||
# define __glibcpp_double_SNaN_bytes __glibcpp_f80_SNaN_bytes
|
||||
# define __glibcpp_double_denorm_min_bytes __glibcpp_f80_denorm_min_bytes
|
||||
# define __glibcpp_double_has_infinity __glibcpp_f80_has_infinity
|
||||
# define __glibcpp_double_has_QNaN __glibcpp_f80_has_QNaN
|
||||
# define __glibcpp_double_has_SNaN __glibcpp_f80_has_SNaN
|
||||
# define __glibcpp_double_has_denorm __glibcpp_f80_has_denorm
|
||||
@ -785,11 +732,6 @@
|
||||
|
||||
// Default values. Should be overriden in configuration files if necessary.
|
||||
|
||||
#ifndef __glibcpp_double_infinity_bytes
|
||||
# define __glibcpp_double_infinity_bytes { }
|
||||
# define __glibcpp_double_has_infinty false
|
||||
#endif
|
||||
|
||||
#ifndef __glibcpp_double_QNaN_bytes
|
||||
# define __glibcpp_double_QNaN_bytes { }
|
||||
# define __glibcpp_double_has_QNaN false
|
||||
@ -837,55 +779,45 @@
|
||||
|
||||
#if __LONG_DOUBLE_BIT__ == 32
|
||||
# define __glibcpp_long_double_round_error __glibcpp_f32_round_error
|
||||
# define __glibcpp_long_double_infinity_bytes __glibcpp_f32_infinity_bytes
|
||||
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f32_QNaN_bytes
|
||||
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f32_SNaN_bytes
|
||||
# define __glibcpp_long_double_denorm_min_bytes __glibcpp_f32_denorm_min_bytes
|
||||
# define __glibcpp_long_double_has_infinity __glibcpp_f32_has_infinity
|
||||
# define __glibcpp_long_double_has_QNaN __glibcpp_f32_has_QNaN
|
||||
# define __glibcpp_long_double_has_SNaN __glibcpp_f32_has_SNaN
|
||||
# define __glibcpp_long_double_has_denorm __glibcpp_f32_has_denorm
|
||||
# define __glibcpp_long_double_is_iec559 __glibcpp_f32_is_iec559
|
||||
#elif __LONG_DOUBLE_BIT__ == 64
|
||||
# define __glibcpp_long_double_round_error __glibcpp_f64_round_error
|
||||
# define __glibcpp_long_double_infinity_bytes __glibcpp_f64_infinity_bytes
|
||||
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f64_QNaN_bytes
|
||||
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f64_SNaN_bytes
|
||||
# define __glibcpp_long_double_denorm_min_bytes __glibcpp_f64_denorm_min_bytes
|
||||
# define __glibcpp_long_double_has_infinity __glibcpp_f64_has_infinity
|
||||
# define __glibcpp_long_double_has_QNaN __glibcpp_f64_has_QNaN
|
||||
# define __glibcpp_long_double_has_SNaN __glibcpp_f64_has_SNaN
|
||||
# define __glibcpp_long_double_has_denorm __glibcpp_f64_has_denorm
|
||||
# define __glibcpp_long_double_is_iec559 __glibcpp_f64_is_iec559
|
||||
#elif __LONG_DOUBLE_BIT__ == 80
|
||||
# define __glibcpp_long_double_round_error __glibcpp_f80_round_error
|
||||
# define __glibcpp_long_double_infinity_bytes __glibcpp_f80_infinity_bytes
|
||||
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f80_QNaN_bytes
|
||||
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f80_SNaN_bytes
|
||||
# define __glibcpp_long_double_denorm_min_bytes __glibcpp_f80_denorm_min_bytes
|
||||
# define __glibcpp_long_double_has_infinity __glibcpp_f80_has_infinity
|
||||
# define __glibcpp_long_double_has_QNaN __glibcpp_f80_has_QNaN
|
||||
# define __glibcpp_long_double_has_SNaN __glibcpp_f80_has_SNaN
|
||||
# define __glibcpp_long_double_has_denorm __glibcpp_f80_has_denorm
|
||||
# define __glibcpp_long_double_is_iec559 __glibcpp_f80_is_iec559
|
||||
#elif __LONG_DOUBLE_BIT__ == 96
|
||||
# define __glibcpp_long_double_round_error __glibcpp_f96_round_error
|
||||
# define __glibcpp_long_double_infinity_bytes __glibcpp_f96_infinity_bytes
|
||||
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f96_QNaN_bytes
|
||||
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f96_SNaN_bytes
|
||||
# define __glibcpp_long_double_denorm_min_bytes __glibcpp_f96_denorm_min_bytes
|
||||
# define __glibcpp_long_double_has_infinity __glibcpp_f96_has_infinity
|
||||
# define __glibcpp_long_double_has_QNaN __glibcpp_f96_has_QNaN
|
||||
# define __glibcpp_long_double_has_SNaN __glibcpp_f96_has_SNaN
|
||||
# define __glibcpp_long_double_has_denorm __glibcpp_f96_has_denorm
|
||||
# define __glibcpp_long_double_is_iec559 __glibcpp_f96_is_iec559
|
||||
#elif __LONG_DOUBLE_BIT__ == 128
|
||||
# define __glibcpp_long_double_round_error __glibcpp_f128_round_error
|
||||
# define __glibcpp_long_double_infinity_bytes __glibcpp_f128_infinity_bytes
|
||||
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f128_QNaN_bytes
|
||||
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f128_SNaN_bytes
|
||||
# define __glibcpp_long_double_denorm_min_bytes __glibcpp_f128_denorm_min_bytes
|
||||
# define __glibcpp_long_double_has_infinity __glibcpp_f128_has_infinity
|
||||
# define __glibcpp_long_double_has_QNaN __glibcpp_f128_has_QNaN
|
||||
# define __glibcpp_long_double_has_SNaN __glibcpp_f128_has_SNaN
|
||||
# define __glibcpp_long_double_has_denorm __glibcpp_f128_has_denorm
|
||||
@ -896,11 +828,6 @@
|
||||
|
||||
// Default values. Should be overriden in configuration files if necessary.
|
||||
|
||||
#ifndef __glibcpp_long_double_infinity_bytes
|
||||
# define __glibcpp_long_double_infinity_bytes { }
|
||||
# define __glibcpp_long_double_has_infinty false
|
||||
#endif
|
||||
|
||||
#ifndef __glibcpp_long_double_QNaN_bytes
|
||||
# define __glibcpp_long_double_QNaN_bytes { }
|
||||
# define __glibcpp_long_double_has_QNaN false
|
||||
@ -989,17 +916,14 @@ namespace std
|
||||
#endif
|
||||
__attribute__((__aligned__(__alignof__(long double))));
|
||||
|
||||
extern const __float_storage __glibcpp_float_infinity;
|
||||
extern const __float_storage __glibcpp_float_QNaN;
|
||||
extern const __float_storage __glibcpp_float_SNaN;
|
||||
extern const __float_storage __glibcpp_float_denorm_min;
|
||||
|
||||
extern const __double_storage __glibcpp_double_infinity;
|
||||
extern const __double_storage __glibcpp_double_QNaN;
|
||||
extern const __double_storage __glibcpp_double_SNaN;
|
||||
extern const __double_storage __glibcpp_double_denorm_min;
|
||||
|
||||
extern const __long_double_storage __glibcpp_long_double_infinity;
|
||||
extern const __long_double_storage __glibcpp_long_double_QNaN;
|
||||
extern const __long_double_storage __glibcpp_long_double_SNaN;
|
||||
extern const __long_double_storage __glibcpp_long_double_denorm_min;
|
||||
@ -1830,14 +1754,15 @@ namespace std
|
||||
static const int max_exponent = __FLT_MAX_EXP__;
|
||||
static const int max_exponent10 = __FLT_MAX_10_EXP__;
|
||||
|
||||
static const bool has_infinity = __glibcpp_float_has_infinity;
|
||||
static const bool has_infinity
|
||||
= __builtin_huge_valf () / 2 == __builtin_huge_valf ();
|
||||
static const bool has_quiet_NaN = __glibcpp_float_has_QNaN;
|
||||
static const bool has_signaling_NaN = __glibcpp_float_has_SNaN;
|
||||
static const float_denorm_style has_denorm = __glibcpp_float_has_denorm;
|
||||
static const bool has_denorm_loss = __glibcpp_float_has_denorm_loss;
|
||||
|
||||
static float infinity() throw()
|
||||
{ return *reinterpret_cast<const float*>(__glibcpp_float_infinity); }
|
||||
{ return __builtin_huge_valf (); }
|
||||
static float quiet_NaN() throw()
|
||||
{ return *reinterpret_cast<const float*>(__glibcpp_float_QNaN); }
|
||||
static float signaling_NaN() throw()
|
||||
@ -1855,7 +1780,6 @@ namespace std
|
||||
};
|
||||
|
||||
#undef __glibcpp_float_round_error
|
||||
#undef __glibcpp_float_has_infinity
|
||||
#undef __glibcpp_float_has_QNaN
|
||||
#undef __glibcpp_float_has_SNaN
|
||||
#undef __glibcpp_float_has_denorm
|
||||
@ -1893,7 +1817,8 @@ namespace std
|
||||
static const int max_exponent = __DBL_MAX_EXP__;
|
||||
static const int max_exponent10 = __DBL_MAX_10_EXP__;
|
||||
|
||||
static const bool has_infinity = __glibcpp_double_has_infinity;
|
||||
static const bool has_infinity
|
||||
= __builtin_huge_val () / 2 == __builtin_huge_val ();
|
||||
static const bool has_quiet_NaN = __glibcpp_double_has_QNaN;
|
||||
static const bool has_signaling_NaN = __glibcpp_double_has_SNaN;
|
||||
static const float_denorm_style has_denorm =
|
||||
@ -1901,7 +1826,7 @@ namespace std
|
||||
static const bool has_denorm_loss = __glibcpp_double_has_denorm_loss;
|
||||
|
||||
static double infinity() throw()
|
||||
{ return *reinterpret_cast<const double*>(__glibcpp_double_infinity); }
|
||||
{ return __builtin_huge_val(); }
|
||||
static double quiet_NaN() throw()
|
||||
{ return *reinterpret_cast<const double*>(__glibcpp_double_QNaN); }
|
||||
static double signaling_NaN() throw()
|
||||
@ -1920,7 +1845,6 @@ namespace std
|
||||
};
|
||||
|
||||
#undef __glibcpp_double_round_error
|
||||
#undef __glibcpp_double_has_infinity
|
||||
#undef __glibcpp_double_has_QNaN
|
||||
#undef __glibcpp_double_has_SNaN
|
||||
#undef __glibcpp_double_has_denorm
|
||||
@ -1959,7 +1883,8 @@ namespace std
|
||||
static const int max_exponent = __LDBL_MAX_EXP__;
|
||||
static const int max_exponent10 = __LDBL_MAX_10_EXP__;
|
||||
|
||||
static const bool has_infinity = __glibcpp_long_double_has_infinity;
|
||||
static const bool has_infinity
|
||||
= __builtin_huge_vall () / 2 == __builtin_huge_vall ();
|
||||
static const bool has_quiet_NaN = __glibcpp_long_double_has_SNaN;
|
||||
static const bool has_signaling_NaN = __glibcpp_long_double_has_SNaN;
|
||||
static const float_denorm_style has_denorm =
|
||||
@ -1968,10 +1893,7 @@ namespace std
|
||||
__glibcpp_long_double_has_denorm_loss;
|
||||
|
||||
static long double infinity() throw()
|
||||
{
|
||||
return *reinterpret_cast<const long double*>
|
||||
(__glibcpp_long_double_infinity);
|
||||
}
|
||||
{ return __builtin_huge_vall (); }
|
||||
|
||||
static long double quiet_NaN() throw()
|
||||
{
|
||||
@ -2002,7 +1924,6 @@ namespace std
|
||||
};
|
||||
|
||||
#undef __glibcpp_long_double_round_error
|
||||
#undef __glibcpp_long_double_has_infinity
|
||||
#undef __glibcpp_long_double_has_QNaN
|
||||
#undef __glibcpp_long_double_has_SNaN
|
||||
#undef __glibcpp_long_double_has_denorm
|
||||
|
@ -38,22 +38,16 @@
|
||||
|
||||
namespace std
|
||||
{
|
||||
const __float_storage __glibcpp_float_infinity =
|
||||
__glibcpp_float_infinity_bytes;
|
||||
const __float_storage __glibcpp_float_QNaN = __glibcpp_float_QNaN_bytes;
|
||||
const __float_storage __glibcpp_float_SNaN = __glibcpp_float_SNaN_bytes;
|
||||
const __float_storage __glibcpp_float_denorm_min =
|
||||
__glibcpp_float_denorm_min_bytes;
|
||||
|
||||
const __double_storage __glibcpp_double_infinity =
|
||||
__glibcpp_double_infinity_bytes;
|
||||
const __double_storage __glibcpp_double_QNaN = __glibcpp_double_QNaN_bytes;
|
||||
const __double_storage __glibcpp_double_SNaN = __glibcpp_double_SNaN_bytes;
|
||||
const __double_storage __glibcpp_double_denorm_min =
|
||||
__glibcpp_double_denorm_min_bytes;
|
||||
|
||||
const __long_double_storage __glibcpp_long_double_infinity =
|
||||
__glibcpp_long_double_infinity_bytes;
|
||||
const __long_double_storage __glibcpp_long_double_QNaN =
|
||||
__glibcpp_long_double_QNaN_bytes;
|
||||
const __long_double_storage __glibcpp_long_double_SNaN =
|
||||
|
Loading…
Reference in New Issue
Block a user