aboutsummaryrefslogtreecommitdiff
path: root/math/w_exp2f.c
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2012-02-19 11:20:18 +0100
committerAurelien Jarno <aurelien@aurel32.net>2012-02-19 11:20:18 +0100
commit92221550d72bafcd322ac5ab2a951054184b7f1a (patch)
treea48ab236bb1d2c3f29138d04500129fa230ed2e6 /math/w_exp2f.c
parentebaf36ebd838cec73c00433e7b3d41c9d126fe47 (diff)
downloadglibc-92221550d72bafcd322ac5ab2a951054184b7f1a.zip
glibc-92221550d72bafcd322ac5ab2a951054184b7f1a.tar.gz
glibc-92221550d72bafcd322ac5ab2a951054184b7f1a.tar.bz2
Use non-signaling floating-point comparisons in math functions.
Diffstat (limited to 'math/w_exp2f.c')
-rw-r--r--math/w_exp2f.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/math/w_exp2f.c b/math/w_exp2f.c
index 7215fca..c4e9e94 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));