about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64/e_remainder.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-05-17 19:04:08 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-05-17 19:04:08 +0000
commitbb38759d6dc78b1818f5d23129a362d6f5aba267 (patch)
treeeeb0b291af38d05e91c37d54d7dd48dc8a4a5c05 /sysdeps/ieee754/dbl-64/e_remainder.c
parenta00bdcf0e059a6bdb0a258a624437e326cde49e4 (diff)
downloadglibc-bb38759d6dc78b1818f5d23129a362d6f5aba267.tar.gz
glibc-bb38759d6dc78b1818f5d23129a362d6f5aba267.tar.xz
glibc-bb38759d6dc78b1818f5d23129a362d6f5aba267.zip
Fix remainder exceptions and directed-rounding results (bugs 15480, 15485).
Diffstat (limited to 'sysdeps/ieee754/dbl-64/e_remainder.c')
-rw-r--r--sysdeps/ieee754/dbl-64/e_remainder.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/ieee754/dbl-64/e_remainder.c b/sysdeps/ieee754/dbl-64/e_remainder.c
index 39ca0c2d0e..2d20bb1dfe 100644
--- a/sysdeps/ieee754/dbl-64/e_remainder.c
+++ b/sysdeps/ieee754/dbl-64/e_remainder.c
@@ -51,6 +51,7 @@ double __ieee754_remainder(double x, double y)
   ky=t.i[HIGH_HALF];
   /*------ |x| < 2^1023  and   2^-970 < |y| < 2^1024 ------------------*/
   if (kx<0x7fe00000 && ky<0x7ff00000 && ky>=0x03500000) {
+    SET_RESTORE_ROUND_NOEX (FE_TONEAREST);
     if (kx+0x00100000<ky) return x;
     if ((kx-0x01500000)<ky) {
       z=x/t.x;