diff options
Diffstat (limited to 'contrib/libf2c/libF77/pow_ii.c')
-rw-r--r-- | contrib/libf2c/libF77/pow_ii.c | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/contrib/libf2c/libF77/pow_ii.c b/contrib/libf2c/libF77/pow_ii.c index 84d1c7e..9234745 100644 --- a/contrib/libf2c/libF77/pow_ii.c +++ b/contrib/libf2c/libF77/pow_ii.c @@ -1,33 +1,31 @@ #include "f2c.h" -#ifdef KR_headers -integer pow_ii(ap, bp) integer *ap, *bp; -#else -integer pow_ii(integer *ap, integer *bp) -#endif +integer +pow_ii (integer * ap, integer * bp) { - integer pow, x, n; - unsigned long u; + integer pow, x, n; + unsigned long u; - x = *ap; - n = *bp; + x = *ap; + n = *bp; - if (n <= 0) { - if (n == 0 || x == 1) - return 1; - if (x != -1) - return x == 0 ? 1/x : 0; - n = -n; - } - u = n; - for(pow = 1; ; ) - { - if(u & 01) - pow *= x; - if(u >>= 1) - x *= x; - else - break; - } - return(pow); - } + if (n <= 0) + { + if (n == 0 || x == 1) + return 1; + if (x != -1) + return x == 0 ? 1 / x : 0; + n = -n; + } + u = n; + for (pow = 1;;) + { + if (u & 01) + pow *= x; + if (u >>= 1) + x *= x; + else + break; + } + return (pow); +} |