* sysdeps/ieee754/flt-32/e_powf.c: Handle x == +-1 correctly.
* sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
2001-02-19 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/ieee754/flt-32/e_powf.c: Handle x == +-1 correctly.
+ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
+
* sysdeps/generic/e_scalb.c: Set invalid exception for invalid
parameters.
* sysdeps/generic/e_scalbf.c: New file.
/* y==zero: x**0 = 1 */
if((iy|ly)==0) return C[1];
+ /* x==+-1 */
+ if(x == 1.0) return C[1];
+ if(x == -1.0 && isinf(y)) return C[1];
+
/* +-NaN return x+y */
if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
/* y==zero: x**0 = 1 */
if(iy==0) return one;
+ /* x==+-1 */
+ if(x == 1.0) return one;
+ if(x == -1.0 && isinf(y)) return one;
+
/* +-NaN return x+y */
if(ix > 0x7f800000 ||
iy > 0x7f800000)