This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: IBM long double fixes
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Alan Modra <amodra at gmail 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: Sun, 30 Jun 2013 15:35:22 +0000
- 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>
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.
--
Joseph S. Myers
joseph@codesourcery.com