diff options
Diffstat (limited to 'gnu/lib/libf2c/libF77/pow_zi.c')
-rw-r--r-- | gnu/lib/libf2c/libF77/pow_zi.c | 90 |
1 files changed, 43 insertions, 47 deletions
diff --git a/gnu/lib/libf2c/libF77/pow_zi.c b/gnu/lib/libf2c/libF77/pow_zi.c index abb3cb2b530..214db3d7a0f 100644 --- a/gnu/lib/libf2c/libF77/pow_zi.c +++ b/gnu/lib/libf2c/libF77/pow_zi.c @@ -1,54 +1,50 @@ #include "f2c.h" -#ifdef KR_headers -VOID pow_zi(p, a, b) /* p = a**b */ - doublecomplex *p, *a; integer *b; -#else -extern void z_div(doublecomplex*, doublecomplex*, doublecomplex*); -void pow_zi(doublecomplex *p, doublecomplex *a, integer *b) /* p = a**b */ -#endif +extern void z_div (doublecomplex *, doublecomplex *, doublecomplex *); +void +pow_zi (doublecomplex * p, doublecomplex * a, integer * b) /* p = a**b */ { - integer n; - unsigned long u; - double t; - doublecomplex q, x; - static doublecomplex one = {1.0, 0.0}; + integer n; + unsigned long u; + double t; + doublecomplex q, x; + static doublecomplex one = { 1.0, 0.0 }; - n = *b; - q.r = 1; - q.i = 0; + n = *b; + q.r = 1; + q.i = 0; - if(n == 0) - goto done; - if(n < 0) - { - n = -n; - z_div(&x, &one, a); - } - else - { - x.r = a->r; - x.i = a->i; - } + if (n == 0) + goto done; + if (n < 0) + { + n = -n; + z_div (&x, &one, a); + } + else + { + x.r = a->r; + x.i = a->i; + } - for(u = n; ; ) - { - if(u & 01) - { - t = q.r * x.r - q.i * x.i; - q.i = q.r * x.i + q.i * x.r; - q.r = t; - } - if(u >>= 1) - { - t = x.r * x.r - x.i * x.i; - x.i = 2 * x.r * x.i; - x.r = t; - } - else - break; - } - done: - p->i = q.i; - p->r = q.r; + for (u = n;;) + { + if (u & 01) + { + t = q.r * x.r - q.i * x.i; + q.i = q.r * x.i + q.i * x.r; + q.r = t; } + if (u >>= 1) + { + t = x.r * x.r - x.i * x.i; + x.i = 2 * x.r * x.i; + x.r = t; + } + else + break; + } +done: + p->i = q.i; + p->r = q.r; +} |