diff options
Diffstat (limited to 'libm/w_pow.c')
-rw-r--r-- | libm/w_pow.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/libm/w_pow.c b/libm/w_pow.c index 94d30bcec..7062aeae6 100644 --- a/libm/w_pow.c +++ b/libm/w_pow.c @@ -1,6 +1,5 @@ -/* @(#)w_pow.c 5.2 93/10/01 */ /* * ==================================================== * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. @@ -19,12 +18,7 @@ #include "math.h" #include "math_private.h" -#ifdef __STDC__ - double pow(double x, double y) /* wrapper pow */ -#else - double pow(x,y) /* wrapper pow */ - double x,y; -#endif +double pow(double x, double y) /* wrapper pow */ { #ifdef _IEEE_LIBM return __ieee754_pow(x,y); @@ -41,19 +35,19 @@ if(x==0.0){ if(y==0.0) return __kernel_standard(x,y,20); /* pow(0.0,0.0) */ - if(finite(y)&&y<0.0) + if(isfinite(y)&&y<0.0) return __kernel_standard(x,y,23); /* pow(0.0,negative) */ return z; } - if(!finite(z)) { - if(finite(x)&&finite(y)) { + if(!isfinite(z)) { + if(isfinite(x)&&isfinite(y)) { if(isnan(z)) return __kernel_standard(x,y,24); /* pow neg**non-int */ else return __kernel_standard(x,y,21); /* pow overflow */ } } - if(z==0.0&&finite(x)&&finite(y)) + if(z==0.0&&isfinite(x)&&isfinite(y)) return __kernel_standard(x,y,22); /* pow underflow */ return z; #endif |