summaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/flt-32/e_j1f.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-05-24 18:58:01 -0700
committerDavid S. Miller <davem@davemloft.net>2014-05-31 20:05:00 -0700
commit30f3d07cbbde199b1a0b2c3e983f0f0546e7ea45 (patch)
treec05d830d4fc8ab4943541017a4517bb1d24eeeb3 /sysdeps/ieee754/flt-32/e_j1f.c
parentf0712b543eaddeca8fc6d7a8eb6b5b8d24105ce2 (diff)
downloadglibc-30f3d07cbbde199b1a0b2c3e983f0f0546e7ea45.tar.gz
Fix excessive ULP for y1_upward (0x2p+0) in test-float and test-ifloat.
* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Force computations to occur in round to nearest mode when |x| >= 2.0
Diffstat (limited to 'sysdeps/ieee754/flt-32/e_j1f.c')
-rw-r--r--sysdeps/ieee754/flt-32/e_j1f.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/ieee754/flt-32/e_j1f.c b/sysdeps/ieee754/flt-32/e_j1f.c
index cb9f97fa28..a1809680f8 100644
--- a/sysdeps/ieee754/flt-32/e_j1f.c
+++ b/sysdeps/ieee754/flt-32/e_j1f.c
@@ -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;