diff options
Diffstat (limited to 'winsup/mingw/mingwex/complex/cpowl.c')
-rwxr-xr-x | winsup/mingw/mingwex/complex/cpowl.c | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/winsup/mingw/mingwex/complex/cpowl.c b/winsup/mingw/mingwex/complex/cpowl.c deleted file mode 100755 index c614a6d59..000000000 --- a/winsup/mingw/mingwex/complex/cpowl.c +++ /dev/null @@ -1,43 +0,0 @@ -/* cpowl.c */ -/* - Contributed by Danny Smith - 2005-01-04 -*/ - -/* cpow(X, Y) = cexp(X * clog(Y)) */ - -#include <math.h> -#include <complex.h> - -long double complex cpowl (long double complex X, long double complex Y) -{ - long double complex Res; - long double i; - long double r = hypotl (__real__ X, __imag__ X); - if (r == 0.0L) - { - __real__ Res = __imag__ Res = 0.0L; - } - else - { - long double rho; - long double theta; - i = cargl (X); - theta = i * __real__ Y; - - if (__imag__ Y == 0.0L) - /* This gives slightly more accurate results in these cases. */ - rho = powl (r, __real__ Y); - else - { - r = logl (r); - /* rearrangement of cexp(X * clog(Y)) */ - theta += r * __imag__ Y; - rho = expl (r * __real__ Y - i * __imag__ Y); - } - - __real__ Res = rho * cosl (theta); - __imag__ Res = rho * sinl (theta); - } - return Res; -} |