Fix catan, catanh, __ieee754_logf in round-downward mode (bug 16799, bug 16800)
Andreas Jaeger
aj@suse.com
Wed Apr 2 17:38:00 GMT 2014
On 04/02/2014 04:26 PM, Joseph S. Myers wrote:
> This patch fixes incorrect results from catan and catanh of certain
> special inputs in round-downward mode (bug 16799), and incorrect
> results of __ieee754_logf (+/-0) in round-downward mode (bug 16800)
> that show up through catan/catanh when tested in all rounding modes,
> but not directly in the testing for logf because the bug gets hidden
> by the wrappers.
>
> Both bugs involve a zero that should be +0 being -0 instead: one
> computed as (1-x)*(1+x) in the catan/catanh case, and one as (x-x) in
> the logf case. The fixes ensure positive zero is used. Testing of
> catan and catanh in all rounding modes is duly enabled.
>
> I expect there are various other bugs in special cases in __ieee754_*
> functions that are normally hidden by the wrappers but would show up
> for testing with -lieee (or in future with -fno-math-errno if we
> replace -lieee and _LIB_VERSION with compile-time redirection to new
> *_noerrno symbol names).
Thanks,
Andreas
--
Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
More information about the Libc-alpha
mailing list