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


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

[Bug math/14803] Different ULPs depending on size of long int in GCC


http://sourceware.org/bugzilla/show_bug.cgi?id=14803

--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2012-11-04 22:42:15 UTC ---
On Sun, 4 Nov 2012, hjl.tools at gmail dot com wrote:

> Since GCC encodes float-pointing constants slightly different,
> depend on size of long int:

Which constants are involved here?  Ones in the asinl source code, or ones 
in the expected test results?  In either case we should regenerate the 
affected constant in hex float or with more decimal places, though I don't 
know offhand the right software for recomputing the rational function 
approximation for asinl.

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55145

Really I'd consider this just a variant on bug 21718 (real.c rounding not 
perfect).  That would ideally be fixed by using MPFR for this in GCC ... 
except that for any MPFR versions before 3.1.1p2, the bug I found with the 
ternary value from mpfr_strtofr could cause problems for subnormal 
results.

But since GCC uses 160 bits internally, getting different results for a 
64-bit mantissa is a bit surprising unless one of the constants is 
extremely close to a half-way value.

> /export/build/gnu/glibc-test/build-x86_64-linx/math/test-ildoubl.out
> testing long double (inline functions)

We can of course also update libm-test-ulps to include these ulps, though 
preferably all computed constants in libm sources would be hex float to 
make unambiguous exactly what floating-point number is intended.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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