Fix cexp overflow (bug 13892)
Andreas Jaeger
aj@suse.com
Thu Mar 22 19:04:00 GMT 2012
On 03/22/2012 06:01 PM, Joseph S. Myers wrote:
> This patch fixes bug 13892, internal overflows in cexp. There are
> clear-cut cases, where both real and imaginary parts should be finite
> for a narrow range of real parts of the input even when exp (real part
> of input) itself overflows, and also cases where one part should be
> finite and the other infinite (because of the case of subnormals in
> the input, this can occur with exponents more than twice as large as
> that that would overflow exp - or of course with any finite positive
> exponent if the real part of the input is zero). The approach is
> simply to subtract a suitable integer from the real part of the input
> and multiply by exp of that integer, up to twice, to reduce the
> exponent in cases that may have one of the parts of the result finite.
>
> (There are no underflow problems with the cexp implementation, but I put
> some tests for underflow cases - subnormal results - in anyway, since they
> didn't seem to be covered by the testsuite before.)
thanks, this is ok,
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