diff options
Diffstat (limited to 'lib/libF77/pow_zi.c')
-rw-r--r-- | lib/libF77/pow_zi.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libF77/pow_zi.c b/lib/libF77/pow_zi.c index 8dd6006..167e6ac 100644 --- a/lib/libF77/pow_zi.c +++ b/lib/libF77/pow_zi.c @@ -9,6 +9,7 @@ void pow_zi(doublecomplex *p, doublecomplex *a, integer *b) /* p = a**b */ #endif { integer n; +unsigned long u; double t; doublecomplex x; static doublecomplex one = {1.0, 0.0}; @@ -30,15 +31,15 @@ else x.i = a->i; } -for( ; ; ) +for(u = n; ; ) { - if(n & 01) + if(u & 01) { t = p->r * x.r - p->i * x.i; p->i = p->r * x.i + p->i * x.r; p->r = t; } - if(n >>= 1) + if(u >>= 1) { t = x.r * x.r - x.i * x.i; x.i = 2 * x.r * x.i; |