diff options
Diffstat (limited to 'winsup/mingw/mingwex/complex/csqrt.c')
-rw-r--r-- | winsup/mingw/mingwex/complex/csqrt.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/winsup/mingw/mingwex/complex/csqrt.c b/winsup/mingw/mingwex/complex/csqrt.c deleted file mode 100644 index 3717939f4..000000000 --- a/winsup/mingw/mingwex/complex/csqrt.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - csqrt.c - Contributed by Danny Smith - 2003-10-20 -*/ - -#include <math.h> -#include <complex.h> - -double complex csqrt (double complex Z) -{ - double complex Res; - double t; - double x = __real__ Z; - double y = __imag__ Z; - - if (y == 0.0) - { - if (x < 0.0) - { - __real__ Res = 0.0; - __imag__ Res = sqrt (-x); - } - else - { - __real__ Res = sqrt (x); - __imag__ Res = 0.0; - } - } - - else if (x == 0.0) - { - t = sqrt(0.5 * fabs (y)); - __real__ Res = y > 0 ? t : -t; - __imag__ Res = t; - } - - else - { - t = sqrt (2.0 * (_hypot (x, y) + fabs (x))); - if ( x > 0.0) - { - __real__ Res = 0.5 * t; - __imag__ Res = y / t; - } - else - { - __real__ Res = fabs ( y / t); - __imag__ Res = (y < 0.0 ? -0.5 : 0.5) * t; - } - } - - return Res; -} - |