summary refs log tree commit diff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-09-30 22:03:51 +0000
committerUlrich Drepper <drepper@redhat.com>2000-09-30 22:03:51 +0000
commitaaca11d8a11e4c04c7a5ed1db0adaf4a4c192853 (patch)
tree398c535c9c0b0d781c7f91923a60f2ff61901948 /sysdeps/ieee754
parent060801994e693b73d97401c15c5e078c2cd8ccd9 (diff)
downloadglibc-aaca11d8a11e4c04c7a5ed1db0adaf4a4c192853.tar.gz
glibc-aaca11d8a11e4c04c7a5ed1db0adaf4a4c192853.tar.xz
glibc-aaca11d8a11e4c04c7a5ed1db0adaf4a4c192853.zip
Update.
2000-09-30 H.J. Lu  <hjl@gnu.org>

	* sysdeps/ieee754/ldbl-96/s_ceill.c (__ceill): Handle overflow.
	* sysdeps/ieee754/ldbl-96/s_floorl.c (__floorl): Likewise.

2000-09-29  H.J. Lu  <hjl@gnu.org>

	* math/libm-test.inc (init_max_error): Clear all exceptions
	before starting test.
	(acosh_test): Test for existence of function.
	(asinh_test): Likewise.
	(atan2_test): Likewise.
	(cabs_test): Likewise.
	(cacos_test): Likewise.
	(cacosh_test): Likewise.
	(casin_test): Likewise.
	(casinh_test): Likewise.
	(catan_test): Likewise.
	(catanh_test): Likewise.
	(ccos_test): Likewise.
	(ccosh_test): Likewise.
	(cexp_test): Likewise.
	(clog_test): Likewise.
	(clog10_test): Likewise.
	(cosh_test): Likewise.
	(cpow_test): Likewise.
	(csin_test): Likewise.
	(csinh_test): Likewise.
	(csqrt_test): Likewise.
	(ctan_test): Likewise.
	(ctanh_test): Likewise.
	(fmod_test): Likewise.
	(hypot_test): Likewise.
	(remainder_test): Likewise.
	(remquo_test): Likewise.
	(sincos_test): Likewise.
	(sinh_test): Likewise.
	(tanh_test): Likewise.

2000-09-29  H.J. Lu  <hjl@gnu.org>

	* sysdeps/ia64/ieee754.h: New file.

	* sysdeps/ia64/fpu/math_ldbl.h: New file.

2000-09-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.h (FLAG_X8664_LIB64): Define.
	* sysdeps/unix/sysv/linux/i386/readelflib.c: New file.

2000-09-30  Ulrich Drepper  <drepper@redhat.com>

	* manual/charset.texi: Correct notations, reference to C90 amd 1,
	and some other details.
	* manual/ctype.texi: Likewise.
	Patches by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/ldbl-96/s_ceill.c9
-rw-r--r--sysdeps/ieee754/ldbl-96/s_floorl.c9
2 files changed, 14 insertions, 4 deletions
diff --git a/sysdeps/ieee754/ldbl-96/s_ceill.c b/sysdeps/ieee754/ldbl-96/s_ceill.c
index d53f3954ba..b99097f812 100644
--- a/sysdeps/ieee754/ldbl-96/s_ceill.c
+++ b/sysdeps/ieee754/ldbl-96/s_ceill.c
@@ -59,8 +59,13 @@ static long double huge = 1.0e4930;
 		if(((i0&i)|i1)==0) return x; /* x is integral */
 		if(huge+x>0.0) {	/* raise inexact flag */
 		    if(sx==0) {
-			if (j0>0) i0 += (0x80000000)>>j0;
-			else ++se;
+			if (j0>0 && (i0+(0x80000000>>j0))>i0)
+			  i0+=0x80000000>>j0;
+			else
+			  {
+			    i = 0x7fffffff;
+			    ++se;
+			  }
 		    }
 		    i0 &= (~i); i1=0;
 		}
diff --git a/sysdeps/ieee754/ldbl-96/s_floorl.c b/sysdeps/ieee754/ldbl-96/s_floorl.c
index fb0c37e801..7115dbad9b 100644
--- a/sysdeps/ieee754/ldbl-96/s_floorl.c
+++ b/sysdeps/ieee754/ldbl-96/s_floorl.c
@@ -60,8 +60,13 @@ static long double huge = 1.0e4930;
 		if(((i0&i)|i1)==0) return x; /* x is integral */
 		if(huge+x>0.0) {	/* raise inexact flag */
 		    if(sx) {
-			if (j0>0) i0 += (0x80000000)>>j0;
-			else ++se;
+			if (j0>0 && (i0+(0x80000000>>j0))>i0)
+			  i0 += (0x80000000)>>j0;
+			else
+			  {
+			    i = 0x7fffffff;
+			    ++se;
+			  }
 		    }
 		    i0 &= (~i); i1=0;
 		}