This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: IBM long double fixes
- From: Alan Modra <amodra at gmail dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: Andreas Schwab <schwab at suse dot de>, libc-alpha at sourceware dot org, Steve Munroe <sjmunroe at us dot ibm dot com>, Ryan Arnold <ryanarn at us dot ibm dot com>
- Date: Mon, 1 Jul 2013 09:28:43 +0930
- Subject: Re: IBM long double fixes
- References: <20130625063840 dot GK21523 at bubble dot grove dot modra dot org> <mvmy59yps96 dot fsf at hawking dot suse dot de> <20130625114412 dot GL21523 at bubble dot grove dot modra dot org> <Pine dot LNX dot 4 dot 64 dot 1306301532480 dot 23506 at digraph dot polyomino dot org dot uk>
On Sun, Jun 30, 2013 at 03:35:22PM +0000, Joseph S. Myers wrote:
> On Tue, 25 Jun 2013, Alan Modra wrote:
>
> > diff --git a/sysdeps/ieee754/ldbl-128ibm/e_expl.c b/sysdeps/ieee754/ldbl-128ibm/e_expl.c
> > index b599f36..c5fc1e2 100644
> > --- a/sysdeps/ieee754/ldbl-128ibm/e_expl.c
> > +++ b/sysdeps/ieee754/ldbl-128ibm/e_expl.c
>
> > static const double
> > two54 = 1.80143985094819840000e+16, /* 4350000000000000 */
> > twom54 = 5.55111512312578270212e-17; /* 3C90000000000000 */
> > - ex2_u.dd[1] *= two54;
> > - ex2_u.ieee.exponent2 += n_i >> unsafe;
> > - ex2_u.dd[1] *= twom54;
> > + ex2_u.d[1].d *= two54;
> > + ex2_u.d[0].ieee.exponent += n_i >> unsafe;
>
> The old code was setting exponent2, which I believe corresponds to
> d[1].ieee.exponent not d[0].ieee.exponent.
Oops. Thanks! Fixed, and double checked all the other mechanical
changes.
--
Alan Modra
Australia Development Lab, IBM