Commit | Line | Data |
---|---|---|
27d66adc KT |
1 | #include "complex" |
2 | ||
3 | pow_zz(r,a,b) | |
4 | dcomplex *r, *a, *b; | |
5 | { | |
6 | double logr, logi, x, y; | |
7 | double log(), exp(), cos(), sin(), atan2(), cabs(); | |
8 | ||
9 | logr = log( cabs(a->dreal, a->dimag) ); | |
10 | logi = atan2(a->dimag, a->dreal); | |
11 | ||
12 | x = exp( logr * b->dreal - logi * b->dimag ); | |
13 | y = logr * b->dimag + logi * b->dreal; | |
14 | ||
15 | r->dreal = x * cos(y); | |
16 | r->dimag = x * sin(y); | |
17 | } |