Fix yn overflow handling in non-default rounding modes (bug 16561, bug 16562)
Andreas Jaeger
aj@suse.com
Fri Jun 27 13:39:00 GMT 2014
On 06/24/2014 01:35 AM, Joseph S. Myers wrote:
> This patch fixes bugs 16561 and 16562, bad results of yn in overflow
> cases in non-default rounding modes, both because an intermediate
> overflow in the recurrence does not get detected if the result is not
> an infinity and because an overflowing result may occur in the wrong
> sign. The fix is to set FE_TONEAREST mode internally for the parts of
> the function where such overflows can occur (which includes the call
> to y1 - where yn is used to compute a Bessel function of order -1,
> negating the result of y1 isn't correct for overflowing results in
> directed rounding modes) and then compute an overflowing value in the
> original rounding mode if the to-nearest result was an infinity.
>
> Tested x86_64 and x86 and ulps updated accordingly. Also tested for
> mips64 and powerpc32 to test the ldbl-128 and ldbl-128ibm changes.
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