diff options
Diffstat (limited to 'contrib/libf2c/libF77/pow_qq.c')
-rw-r--r-- | contrib/libf2c/libF77/pow_qq.c | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/contrib/libf2c/libF77/pow_qq.c b/contrib/libf2c/libF77/pow_qq.c index 3bc80e05f7f0..0cec5ca7d8cb 100644 --- a/contrib/libf2c/libF77/pow_qq.c +++ b/contrib/libf2c/libF77/pow_qq.c @@ -1,33 +1,31 @@ #include "f2c.h" -#ifdef KR_headers -longint pow_qq(ap, bp) longint *ap, *bp; -#else -longint pow_qq(longint *ap, longint *bp) -#endif +longint +pow_qq (longint * ap, longint * bp) { - longint pow, x, n; - unsigned long long u; /* system-dependent */ + longint pow, x, n; + unsigned long long u; /* system-dependent */ - 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); +} |