This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix IEEE quad lrintl


Hi!

Stupid typos cause it not to be properly rounded - the result
of the rounding (r) was unused, while GET_LDOUBLE_WORDS64 was
computing exactly what has been already computed, as x hasn't changed
in between.

2006-09-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Fix 2 typos.

--- libc/sysdeps/ieee754/ldbl-128/s_lrintl.c.jj	2006-09-20 23:00:13.000000000 +0200
+++ libc/sysdeps/ieee754/ldbl-128/s_lrintl.c	2006-09-24 08:52:27.000000000 +0200
@@ -50,7 +50,7 @@ __lrintl (long double x)
     {
       w = two112[sx] + x;
       t = w - two112[sx];
-      GET_LDOUBLE_WORDS64 (i0, i1, x);
+      GET_LDOUBLE_WORDS64 (i0, i1, t);
       j0 = ((i0 >> 48) & 0x7fff) - 0x3fff;
       i0 &= 0x0000ffffffffffffLL;
       i0 |= 0x0001000000000000LL;
@@ -65,7 +65,7 @@ __lrintl (long double x)
 	{
 	  w = two112[sx] + x;
 	  t = w - two112[sx];
-	  GET_LDOUBLE_WORDS64 (i0, i1, x);
+	  GET_LDOUBLE_WORDS64 (i0, i1, t);
 	  j0 = ((i0 >> 48) & 0x7fff) - 0x3fff;
 	  i0 &= 0x0000ffffffffffffLL;
 	  i0 |= 0x0001000000000000LL;

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]