diff options
Diffstat (limited to 'gnu/lib/libf2c/libF77/pow_hh.c')
-rw-r--r-- | gnu/lib/libf2c/libF77/pow_hh.c | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/gnu/lib/libf2c/libF77/pow_hh.c b/gnu/lib/libf2c/libF77/pow_hh.c index 24a019734da..3379d8a7f7c 100644 --- a/gnu/lib/libf2c/libF77/pow_hh.c +++ b/gnu/lib/libf2c/libF77/pow_hh.c @@ -1,33 +1,31 @@ #include "f2c.h" -#ifdef KR_headers -shortint pow_hh(ap, bp) shortint *ap, *bp; -#else -shortint pow_hh(shortint *ap, shortint *bp) -#endif +shortint +pow_hh (shortint * ap, shortint * bp) { - shortint pow, x, n; - unsigned u; + shortint pow, x, n; + unsigned 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); +} |