From: Aurelien Jarno Date: Sun, 19 Feb 2012 10:20:18 +0000 (+0100) Subject: Use non-signaling floating-point comparisons in math functions. X-Git-Tag: glibc-2.16-tps~976 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=92221550d72bafcd322ac5ab2a951054184b7f1a;p=thirdparty%2Fglibc.git Use non-signaling floating-point comparisons in math functions. --- diff --git a/ChangeLog b/ChangeLog index 906b3eee02b..98dce70996f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,46 @@ +2012-02-19 Aurelien Jarno + + * math/w_acos.c: Use non-signaling floating-point comparisons. + * math/w_acosf.c: Likewise. + * math/w_acosh.c: Likewise. + * math/w_acoshf.c: Likewise. + * math/w_acoshl.c: Likewise. + * math/w_acosl.c: Likewise. + * math/w_asin.c: Likewise. + * math/w_asinf.c: Likewise. + * math/w_asinl.c: Likewise. + * math/w_atanh.c: Likewise. + * math/w_atanhf.c: Likewise. + * math/w_atanhl.c: Likewise. + * math/w_exp2.c: Likewise. + * math/w_exp2f.c: Likewise. + * math/w_exp2l.c: Likewise. + * math/w_j0.c: Likewise. + * math/w_j0f.c: Likewise. + * math/w_j0l.c: Likewise. + * math/w_j1.c: Likewise. + * math/w_j1f.c: Likewise. + * math/w_j1l.c: Likewise. + * math/w_jn.c: Likewise. + * math/w_jnf.c: Likewise. + * math/w_log.c: Likewise. + * math/w_log10.c: Likewise. + * math/w_log10f.c: Likewise. + * math/w_log10l.c: Likewise. + * math/w_log2.c: Likewise. + * math/w_log2f.c: Likewise. + * math/w_log2l.c: Likewise. + * math/w_logf.c: Likewise. + * math/w_logl.c: Likewise. + * math/w_sqrt.c: Likewise. + * math/w_sqrtf.c: Likewise. + * math/w_sqrtl.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise. + * sysdeps/ieee754/dbl-64/w_exp.c: Likewise. + * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise. + * sysdeps/ieee754/flt-32/w_expf.c: Likewise. + * sysdeps/ieee754/ldbl-96/w_expl.c: Likewise. + 2012-02-19 Joseph Myers [BZ #9739] diff --git a/math/w_acos.c b/math/w_acos.c index 3138408ff49..0490933291c 100644 --- a/math/w_acos.c +++ b/math/w_acos.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ double __acos (double x) { - if (__builtin_expect (fabs (x) > 1.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabs (x), 1.0), 0) + && _LIB_VERSION != _IEEE_) { /* acos(|x|>1) */ feraiseexcept (FE_INVALID); diff --git a/math/w_acosf.c b/math/w_acosf.c index 0e41a2c47b5..2500a7d7740 100644 --- a/math/w_acosf.c +++ b/math/w_acosf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ float __acosf (float x) { - if (__builtin_expect (fabsf (x) > 1.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0) + && _LIB_VERSION != _IEEE_) { /* acos(|x|>1) */ feraiseexcept (FE_INVALID); diff --git a/math/w_acosh.c b/math/w_acosh.c index 0bd2686464f..d6329878a3a 100644 --- a/math/w_acosh.c +++ b/math/w_acosh.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,7 @@ double __acosh (double x) { - if (__builtin_expect (x < 1.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isless (x, 1.0), 0) && _LIB_VERSION != _IEEE_) /* acosh(x<1) */ return __kernel_standard (x, x, 29); diff --git a/math/w_acoshf.c b/math/w_acoshf.c index c59bf94d10b..f77df2b82e5 100644 --- a/math/w_acoshf.c +++ b/math/w_acoshf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,7 @@ float __acoshf (float x) { - if (__builtin_expect (x < 1.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isless (x, 1.0f), 0) && _LIB_VERSION != _IEEE_) /* acosh(x<1) */ return __kernel_standard_f (x, x, 129); diff --git a/math/w_acoshl.c b/math/w_acoshl.c index 819bdfce101..cc823b88e91 100644 --- a/math/w_acoshl.c +++ b/math/w_acoshl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,7 @@ long double __acoshl (long double x) { - if (__builtin_expect (x < 1.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isless (x, 1.0L), 0) && _LIB_VERSION != _IEEE_) /* acosh(x<1) */ return __kernel_standard (x, x, 229); diff --git a/math/w_acosl.c b/math/w_acosl.c index 641706864e4..05023b42987 100644 --- a/math/w_acosl.c +++ b/math/w_acosl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ long double __acosl (long double x) { - if (__builtin_expect (fabsl (x) > 1.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabsl (x), 1.0L), 0) + && _LIB_VERSION != _IEEE_) { /* acos(|x|>1) */ feraiseexcept (FE_INVALID); diff --git a/math/w_asin.c b/math/w_asin.c index d4e89ce72e3..0fa9487a304 100644 --- a/math/w_asin.c +++ b/math/w_asin.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ double __asin (double x) { - if (__builtin_expect (fabs (x) > 1.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabs (x), 1.0), 0) + && _LIB_VERSION != _IEEE_) { /* asin(|x|>1) */ feraiseexcept (FE_INVALID); diff --git a/math/w_asinf.c b/math/w_asinf.c index 270961fbd0b..c28edabcf60 100644 --- a/math/w_asinf.c +++ b/math/w_asinf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ float __asinf (float x) { - if (__builtin_expect (fabsf (x) > 1.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0) + && _LIB_VERSION != _IEEE_) { /* asin(|x|>1) */ feraiseexcept (FE_INVALID); diff --git a/math/w_asinl.c b/math/w_asinl.c index 32e5273375b..e4036d88060 100644 --- a/math/w_asinl.c +++ b/math/w_asinl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ long double __asinl (long double x) { - if (__builtin_expect (fabsl (x) > 1.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabsl (x), 1.0L), 0) + && _LIB_VERSION != _IEEE_) { /* asin(|x|>1) */ feraiseexcept (FE_INVALID); diff --git a/math/w_atanh.c b/math/w_atanh.c index 1022bd52d26..190d2e9d97b 100644 --- a/math/w_atanh.c +++ b/math/w_atanh.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,8 @@ double __atanh (double x) { - if (__builtin_expect (fabs (x) >= 1.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreaterequal (fabs (x), 1.0), 0) + && _LIB_VERSION != _IEEE_) return __kernel_standard (x, x, fabs (x) > 1.0 ? 30 /* atanh(|x|>1) */ diff --git a/math/w_atanhf.c b/math/w_atanhf.c index 3c8cf8304a8..e0c5dc39b4b 100644 --- a/math/w_atanhf.c +++ b/math/w_atanhf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,8 @@ float __atanhf (float x) { - if (__builtin_expect (fabsf (x) >= 1.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreaterequal (fabsf (x), 1.0f), 0) + && _LIB_VERSION != _IEEE_) return __kernel_standard_f (x, x, fabsf (x) > 1.0f ? 130 /* atanh(|x|>1) */ diff --git a/math/w_atanhl.c b/math/w_atanhl.c index f582acfcdad..319535d1721 100644 --- a/math/w_atanhl.c +++ b/math/w_atanhl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,8 @@ long double __atanhl (long double x) { - if (__builtin_expect (fabsl (x) >= 1.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreaterequal (fabsl (x), 1.0L), 0) + && _LIB_VERSION != _IEEE_) return __kernel_standard (x, x, fabsl (x) > 1.0L ? 230 /* atanh(|x|>1) */ diff --git a/math/w_exp2.c b/math/w_exp2.c index bf223265cb4..7a3b0afb74d 100644 --- a/math/w_exp2.c +++ b/math/w_exp2.c @@ -12,7 +12,8 @@ static const double u_threshold = (double) (DBL_MIN_EXP - DBL_MANT_DIG - 1); double __exp2 (double x) { - if (__builtin_expect (x <= u_threshold || x > o_threshold, 0) + if (__builtin_expect (islessequal (x, u_threshold) + || isgreater (x, o_threshold), 0) && _LIB_VERSION != _IEEE_ && __finite (x)) /* exp2 overflow: 44, exp2 underflow: 45 */ return __kernel_standard (x, x, 44 + (x <= o_threshold)); diff --git a/math/w_exp2f.c b/math/w_exp2f.c index 7215fcaf4cb..c4e9e941640 100644 --- a/math/w_exp2f.c +++ b/math/w_exp2f.c @@ -12,7 +12,8 @@ static const float u_threshold = (float) (FLT_MIN_EXP - FLT_MANT_DIG - 1); float __exp2f (float x) { - if (__builtin_expect (x <= u_threshold || x > o_threshold, 0) + if (__builtin_expect (islessequal (x, u_threshold) + || isgreater (x, o_threshold), 0) && _LIB_VERSION != _IEEE_ && __finitef (x)) /* exp2 overflow: 144, exp2 underflow: 145 */ return __kernel_standard_f (x, x, 144 + (x <= o_threshold)); diff --git a/math/w_exp2l.c b/math/w_exp2l.c index ac8d231e2c6..442a637347e 100644 --- a/math/w_exp2l.c +++ b/math/w_exp2l.c @@ -13,7 +13,8 @@ static const long double u_threshold long double __exp2l (long double x) { - if (__builtin_expect (x <= u_threshold || x > o_threshold, 0) + if (__builtin_expect (islessequal (x, u_threshold) + || isgreater (x, o_threshold), 0) && _LIB_VERSION != _IEEE_ && __finitel (x)) /* exp2 overflow: 244, exp2 underflow: 245 */ return __kernel_standard (x, x, 244 + (x <= o_threshold)); diff --git a/math/w_j0.c b/math/w_j0.c index 1dff8b4d5a4..f8d37247565 100644 --- a/math/w_j0.c +++ b/math/w_j0.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ double j0 (double x) { - if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) /* j0(|x|>X_TLOSS) */ return __kernel_standard (x, x, 34); @@ -40,7 +41,8 @@ strong_alias (j0, j0l) double y0 (double x) { - if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) { if (x < 0.0) { diff --git a/math/w_j0f.c b/math/w_j0f.c index fc52f26d99e..cef36aab1b5 100644 --- a/math/w_j0f.c +++ b/math/w_j0f.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ float j0f (float x) { - if (__builtin_expect (fabsf (x) > (float) X_TLOSS, 0) + if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0) && _LIB_VERSION != _IEEE_) /* j0(|x|>X_TLOSS) */ return __kernel_standard_f (x, x, 134); @@ -38,7 +38,8 @@ j0f (float x) float y0f (float x) { - if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0) + if (__builtin_expect (islessequal (x, 0.0f) + || isgreater (x, (float) X_TLOSS), 0) && _LIB_VERSION != _IEEE_) { if (x < 0.0f) diff --git a/math/w_j0l.c b/math/w_j0l.c index 8d72d504f53..144f33c0dbb 100644 --- a/math/w_j0l.c +++ b/math/w_j0l.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ long double __j0l (long double x) { - if (__builtin_expect (fabsl (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabsl (x), X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) /* j0(|x|>X_TLOSS) */ return __kernel_standard (x, x, 234); @@ -38,7 +39,8 @@ weak_alias (__j0l, j0l) long double __y0l (long double x) { - if (__builtin_expect (x <= 0.0L || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0L) || isgreater (x, X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) { if (x < 0.0L) { diff --git a/math/w_j1.c b/math/w_j1.c index 358e0e192b6..e9a5357b76b 100644 --- a/math/w_j1.c +++ b/math/w_j1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ double j1 (double x) { - if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) /* j1(|x|>X_TLOSS) */ return __kernel_standard (x, x, 36); @@ -40,7 +41,8 @@ strong_alias (j1, j1l) double y1 (double x) { - if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) { if (x < 0.0) { diff --git a/math/w_j1f.c b/math/w_j1f.c index 096fdf56926..29bd949eeab 100644 --- a/math/w_j1f.c +++ b/math/w_j1f.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ float j1f (float x) { - if (__builtin_expect (fabsf (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabsf (x), X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) /* j1(|x|>X_TLOSS) */ return __kernel_standard_f (x, x, 136); @@ -37,7 +38,8 @@ j1f (float x) float y1f (float x) { - if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0) + if (__builtin_expect (islessequal (x, 0.0f) + || isgreater (x, (float) X_TLOSS), 0) && _LIB_VERSION != _IEEE_) { if (x < 0.0f) diff --git a/math/w_j1l.c b/math/w_j1l.c index 93e4ee458d1..01b8551252d 100644 --- a/math/w_j1l.c +++ b/math/w_j1l.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ long double __j1l (long double x) { - if (__builtin_expect (fabsl (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabsl (x), X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) /* j1(|x|>X_TLOSS) */ return __kernel_standard (x, x, 236); @@ -38,7 +39,8 @@ weak_alias (__j1l, j1l) long double __y1l (long double x) { - if (__builtin_expect (x <= 0.0L || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0L) || isgreater (x, X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) { if (x < 0.0L) { diff --git a/math/w_jn.c b/math/w_jn.c index f0dd8c60383..fd3fb162f2a 100644 --- a/math/w_jn.c +++ b/math/w_jn.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,8 @@ double jn (int n, double x) { - if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) /* jn(n,|x|>X_TLOSS) */ return __kernel_standard (n, x, 38); @@ -40,7 +41,8 @@ strong_alias (jn, jnl) double yn (int n, double x) { - if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0) + && _LIB_VERSION != _IEEE_) { if (x < 0.0) { diff --git a/math/w_jnf.c b/math/w_jnf.c index ef29eb45ba2..36d6f6d5733 100644 --- a/math/w_jnf.c +++ b/math/w_jnf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ float jnf (int n, float x) { - if (__builtin_expect (fabsf (x) > (float) X_TLOSS, 0) + if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0) && _LIB_VERSION != _IEEE_) /* jn(n,|x|>X_TLOSS) */ return __kernel_standard_f (n, x, 138); @@ -38,7 +38,8 @@ jnf (int n, float x) float ynf (int n, float x) { - if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0) + if (__builtin_expect (islessequal (x, 0.0f) + || isgreater (x, (float) X_TLOSS), 0) && _LIB_VERSION != _IEEE_) { if (x < 0.0f) diff --git a/math/w_log.c b/math/w_log.c index efc1c4c0719..ec33605f370 100644 --- a/math/w_log.c +++ b/math/w_log.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ double __log (double x) { - if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0) { diff --git a/math/w_log10.c b/math/w_log10.c index 2717ade1275..fe799ad07ec 100644 --- a/math/w_log10.c +++ b/math/w_log10.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ double __log10 (double x) { - if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0) { diff --git a/math/w_log10f.c b/math/w_log10f.c index 60737ca832e..4b821f71309 100644 --- a/math/w_log10f.c +++ b/math/w_log10f.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ float __log10f (float x) { - if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0f) { diff --git a/math/w_log10l.c b/math/w_log10l.c index b26f18c2a2b..0e5a137508f 100644 --- a/math/w_log10l.c +++ b/math/w_log10l.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ long double __log10l (long double x) { - if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0L) { diff --git a/math/w_log2.c b/math/w_log2.c index 998e5d9b70b..e58e10979d1 100644 --- a/math/w_log2.c +++ b/math/w_log2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ double __log2 (double x) { - if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0) { diff --git a/math/w_log2f.c b/math/w_log2f.c index 6d91bf4e7a3..6963ed2119f 100644 --- a/math/w_log2f.c +++ b/math/w_log2f.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ float __log2f (float x) { - if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0) { diff --git a/math/w_log2l.c b/math/w_log2l.c index e51c1bcd277..eed04ff6cc5 100644 --- a/math/w_log2l.c +++ b/math/w_log2l.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ long double __log2l (long double x) { - if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0L) { diff --git a/math/w_logf.c b/math/w_logf.c index 8aa27c872bf..38d408f1829 100644 --- a/math/w_logf.c +++ b/math/w_logf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ float __logf (float x) { - if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0f) { diff --git a/math/w_logl.c b/math/w_logl.c index a3139ff7039..593b37d81fa 100644 --- a/math/w_logl.c +++ b/math/w_logl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -25,7 +25,7 @@ long double __logl (long double x) { - if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_) { if (x == 0.0L) { diff --git a/math/w_sqrt.c b/math/w_sqrt.c index 409a6dfa120..f6ba5423a81 100644 --- a/math/w_sqrt.c +++ b/math/w_sqrt.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,7 @@ double __sqrt (double x) { - if (__builtin_expect (x < 0.0, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isless (x, 0.0), 0) && _LIB_VERSION != _IEEE_) return __kernel_standard (x, x, 26); /* sqrt(negative) */ return __ieee754_sqrt (x); diff --git a/math/w_sqrtf.c b/math/w_sqrtf.c index 3c3d2f8dfc0..c128e9b5546 100644 --- a/math/w_sqrtf.c +++ b/math/w_sqrtf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,7 @@ float __sqrtf (float x) { - if (__builtin_expect (x < 0.0f, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isless (x, 0.0f), 0) && _LIB_VERSION != _IEEE_) return __kernel_standard_f (x, x, 126); /* sqrt(negative) */ return __ieee754_sqrtf (x); diff --git a/math/w_sqrtl.c b/math/w_sqrtl.c index 5e18f44c32f..2a4a0481b06 100644 --- a/math/w_sqrtl.c +++ b/math/w_sqrtl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -24,7 +24,7 @@ long double __sqrtl (long double x) { - if (__builtin_expect (x < 0.0L, 0) && _LIB_VERSION != _IEEE_) + if (__builtin_expect (isless (x, 0.0L), 0) && _LIB_VERSION != _IEEE_) return __kernel_standard (x, x, 226); /* sqrt(negative) */ return __ieee754_sqrtl (x); diff --git a/sysdeps/ieee754/dbl-64/e_atanh.c b/sysdeps/ieee754/dbl-64/e_atanh.c index 9fc21abe2d6..5f471b1d799 100644 --- a/sysdeps/ieee754/dbl-64/e_atanh.c +++ b/sysdeps/ieee754/dbl-64/e_atanh.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -46,7 +46,7 @@ __ieee754_atanh (double x) { double xa = fabs (x); double t; - if (xa < 0.5) + if (isless (xa, 0.5)) { if (__builtin_expect (xa < 0x1.0p-28, 0)) { @@ -57,11 +57,11 @@ __ieee754_atanh (double x) t = xa + xa; t = 0.5 * __log1p (t + t * xa / (1.0 - xa)); } - else if (__builtin_expect (xa < 1.0, 1)) + else if (__builtin_expect (isless (xa, 1.0), 1)) t = 0.5 * __log1p ((xa + xa) / (1.0 - xa)); else { - if (xa > 1.0) + if (isgreater (xa, 1.0)) return (x - x) / (x - x); return x / 0.0; diff --git a/sysdeps/ieee754/dbl-64/w_exp.c b/sysdeps/ieee754/dbl-64/w_exp.c index ee42587be49..b584ed83d97 100644 --- a/sysdeps/ieee754/dbl-64/w_exp.c +++ b/sysdeps/ieee754/dbl-64/w_exp.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -28,12 +28,12 @@ u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */ double __exp (double x) { - if (__builtin_expect (x > o_threshold, 0)) + if (__builtin_expect (isgreater (x, o_threshold), 0)) { if (_LIB_VERSION != _IEEE_) return __kernel_standard_f (x, x, 6); } - else if (__builtin_expect (x < u_threshold, 0)) + else if (__builtin_expect (isless (x, u_threshold), 0)) { if (_LIB_VERSION != _IEEE_) return __kernel_standard_f (x, x, 7); diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c index 75ed6917e9c..7af2f6ce671 100644 --- a/sysdeps/ieee754/flt-32/e_atanhf.c +++ b/sysdeps/ieee754/flt-32/e_atanhf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -46,7 +46,7 @@ __ieee754_atanhf (float x) { float xa = fabsf (x); float t; - if (xa < 0.5f) + if (isless (xa, 0.5f)) { if (__builtin_expect (xa < 0x1.0p-28f, 0)) { @@ -57,11 +57,11 @@ __ieee754_atanhf (float x) t = xa + xa; t = 0.5f * __log1pf (t + t * xa / (1.0f - xa)); } - else if (__builtin_expect (xa < 1.0f, 1)) + else if (__builtin_expect (isless (xa, 1.0f), 1)) t = 0.5f * __log1pf ((xa + xa) / (1.0f - xa)); else { - if (xa > 1.0f) + if (isgreater (xa, 1.0f)) return (x - x) / (x - x); return x / 0.0f; diff --git a/sysdeps/ieee754/flt-32/w_expf.c b/sysdeps/ieee754/flt-32/w_expf.c index 55008723198..bc3b2f67901 100644 --- a/sysdeps/ieee754/flt-32/w_expf.c +++ b/sysdeps/ieee754/flt-32/w_expf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -28,12 +28,12 @@ u_threshold= -1.0397208405e+02; /* 0xc2cff1b5 */ float __expf (float x) { - if (__builtin_expect (x > o_threshold, 0)) + if (__builtin_expect (isgreater (x, o_threshold), 0)) { if (_LIB_VERSION != _IEEE_) return __kernel_standard_f (x, x, 106); } - else if (__builtin_expect (x < u_threshold, 0)) + else if (__builtin_expect (isless (x, u_threshold), 0)) { if (_LIB_VERSION != _IEEE_) return __kernel_standard_f (x, x, 107); diff --git a/sysdeps/ieee754/ldbl-96/w_expl.c b/sysdeps/ieee754/ldbl-96/w_expl.c index ec9d8a78843..d61c0a37bbc 100644 --- a/sysdeps/ieee754/ldbl-96/w_expl.c +++ b/sysdeps/ieee754/ldbl-96/w_expl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -30,12 +30,12 @@ u_threshold= -1.140019167866942050398521670162263001513e4; long double __expl (long double x) { - if (__builtin_expect (x > o_threshold, 0)) + if (__builtin_expect (isgreater (x, o_threshold), 0)) { if (_LIB_VERSION != _IEEE_) return __kernel_standard (x, x, 206); } - else if (__builtin_expect (x < u_threshold, 0)) + else if (__builtin_expect (isless (x, u_threshold), 0)) { if (_LIB_VERSION != _IEEE_) return __kernel_standard (x, x, 207);