diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2012-02-19 11:20:18 +0100 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2012-02-19 11:20:18 +0100 |
commit | 92221550d72bafcd322ac5ab2a951054184b7f1a (patch) | |
tree | a48ab236bb1d2c3f29138d04500129fa230ed2e6 /math/w_exp2f.c | |
parent | ebaf36ebd838cec73c00433e7b3d41c9d126fe47 (diff) | |
download | glibc-92221550d72bafcd322ac5ab2a951054184b7f1a.tar glibc-92221550d72bafcd322ac5ab2a951054184b7f1a.tar.gz glibc-92221550d72bafcd322ac5ab2a951054184b7f1a.tar.bz2 glibc-92221550d72bafcd322ac5ab2a951054184b7f1a.zip |
Use non-signaling floating-point comparisons in math functions.
Diffstat (limited to 'math/w_exp2f.c')
-rw-r--r-- | math/w_exp2f.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/math/w_exp2f.c b/math/w_exp2f.c index 7215fcaf4c..c4e9e94164 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)); |