From 8ea587db2b0bb5cd3e527982f7a1499748a987c3 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 16 Apr 2014 12:52:52 +0200 Subject: [PATCH] [BZ #16824] Fix failing y1 due to too large ulps in downward/upward rounding mode. --- ChangeLog | 6 ++++++ NEWS | 2 +- sysdeps/ieee754/ldbl-128/e_j1l.c | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4a71410..a4eba04 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-04-16 Stefan Liebler + + [BZ #16824] + * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): + Set round-to-nearest internally to reduce error accumulation. + 2014-04-16 Alan Modra [BZ #16740] diff --git a/NEWS b/NEWS index 867a3d6..6a65809 100644 --- a/NEWS +++ b/NEWS @@ -14,7 +14,7 @@ Version 2.20 16610, 16611, 16613, 16619, 16623, 16632, 16634, 16639, 16642, 16648, 16649, 16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, 16712, 16713, 16714, 16731, 16739, 16740, 16743, 16758, 16759, - 16760, 16770, 16786, 16789, 16799, 16800, 16815, 16831, 16838. + 16760, 16770, 16786, 16789, 16799, 16800, 16815, 16824, 16831, 16838. * Running the testsuite no longer terminates as soon as a test fails. Instead, a file tests.sum (xtests.sum from "make xcheck") is generated, diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c index 70a1c86..1264c95 100644 --- a/sysdeps/ieee754/ldbl-128/e_j1l.c +++ b/sysdeps/ieee754/ldbl-128/e_j1l.c @@ -856,6 +856,7 @@ __ieee754_y1l (long double x) if (xx <= 2.0L) { /* 0 <= x <= 2 */ + SET_RESTORE_ROUNDL (FE_TONEAREST); z = xx * xx; p = xx * neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D); p = -TWOOPI / xx + p; -- 2.7.4