* mingwex/math/powl.c (powl): Return infinity if

extended precision multiplication of x by log2(y)
	overflows.
This commit is contained in:
Danny Smith 2004-02-01 00:10:17 +00:00
parent fff0b496a0
commit 416bc45060
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2004-02-01 Danny Smith <dannysmith@users.sourceforge.net>
* mingwex/math/powl.c (powl): Return infinity if
extended precision multiplication of x by log2(y)
overflows.
2004-01-31 Danny Smith <dannysmith@users.sourceforge.net>
* mingwex/math/cephes_emath.h (__enan_64): Fix thinko.

View File

@ -690,6 +690,14 @@ Fa = reducl(F);
Fb = F - Fa;
G = Fa + w * ya;
if (isinf (G))
{
/* Bail out: G - reducl(G) will result in NAN
that will propagate through rest of calculations */
_SET_ERRNO (ERANGE);
mtherr( fname, OVERFLOW );
return( MAXNUML );
}
Ga = reducl(G);
Gb = G - Ga;