* sysdeps/ieee754/ldbl-96/s_nexttoward.c: If x == y, return y.

	* sysdeps/ieee754/dbl-64/e_lgamma_r.c: Don't handle -Inf special.

	* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Check
	for -Inf and return NaN.
This commit is contained in:
Ulrich Drepper 1999-10-22 15:30:17 +00:00
parent e11d6a7d77
commit eb3bf57345
5 changed files with 211 additions and 265 deletions

View File

@ -1,5 +1,12 @@
1999-10-21 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/ieee754/ldbl-96/s_nexttoward.c: If x == y, return y.
* sysdeps/ieee754/dbl-64/e_lgamma_r.c: Don't handle -Inf special.
* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Check
for -Inf and return NaN.
* configure.in: Correct test for Cygnus gcc versions.
1999-10-21 Andreas Jaeger <aj@suse.de>

462
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -45,6 +45,9 @@ __ieee754_gamma_r (double x, int *signgamp)
*signgamp = 0;
return (x - x) / (x - x);
}
if ((unsigned int) hx == 0xfff00000 && lx==0)
/* x == -Inf. According to ISO this is NaN. */
return x - x;
/* XXX FIXME. */
return __ieee754_exp (__ieee754_lgamma_r (x, signgamp));

View File

@ -226,8 +226,6 @@ static double zero= 0.00000000000000000000e+00;
/* purge off +-inf, NaN, +-0, and negative arguments */
*signgamp = 1;
if ((unsigned int) hx==0xfff00000&&lx==0)
return x-x;
ix = hx&0x7fffffff;
if(ix>=0x7ff00000) return x*x;
if((ix|lx)==0) return one/fabs(x);

View File

@ -47,7 +47,7 @@ static char rcsid[] = "$NetBSD: $";
if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) || /* x is nan */
((iy>=0x7fff)&&((hy|ly)|-(hy|ly))!=0)) /* y is nan */
return x+y;
if((long double) x==y) return x; /* x=y, return x */
if((long double) x==y) return y; /* x=y, return y */
if((ix|lx)==0) { /* x == 0 */
double x2;
INSERT_WORDS(x,esy&0x8000?0x80000000:0,1);/* return +-minsub */