Fix excessive ULP for y1_upward (0x2p+0) in test-float and test-ifloat.
authorDavid S. Miller <davem@davemloft.net>
Sun, 25 May 2014 01:58:01 +0000 (18:58 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Jun 2014 03:05:00 +0000 (20:05 -0700)
* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Force computations
to occur in round to nearest mode when |x| >= 2.0

ChangeLog
sysdeps/ieee754/flt-32/e_j1f.c

index 818dd07..2f8ca80 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-31  David S. Miller  <davem@davemloft.net>
+
+       * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Force computations
+       to occur in round to nearest mode when |x| >= 2.0
+
 2014-05-30  Richard Henderson  <rth@twiddle.net>
 
        * sysdeps/unix/sysv/linux/aarch64/sysdep.h (PSEUDO_RET): Remove.
index cb9f97f..a180968 100644 (file)
@@ -107,6 +107,7 @@ __ieee754_y1f(float x)
                return -HUGE_VALF+x;  /* -inf and overflow exception.  */
        if(__builtin_expect(hx<0, 0)) return zero/(zero*x);
        if(ix >= 0x40000000) {  /* |x| >= 2.0 */
+               SET_RESTORE_ROUNDF (FE_TONEAREST);
                __sincosf (x, &s, &c);
                ss = -s-c;
                cc = s-c;