aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/libm-ieee754
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-ieee754')
-rw-r--r--sysdeps/libm-ieee754/s_csqrt.c12
-rw-r--r--sysdeps/libm-ieee754/s_csqrtf.c12
-rw-r--r--sysdeps/libm-ieee754/s_csqrtl.c12
3 files changed, 3 insertions, 33 deletions
diff --git a/sysdeps/libm-ieee754/s_csqrt.c b/sysdeps/libm-ieee754/s_csqrt.c
index ae106bd..a4dedf8 100644
--- a/sysdeps/libm-ieee754/s_csqrt.c
+++ b/sysdeps/libm-ieee754/s_csqrt.c
@@ -84,7 +84,6 @@ __csqrt (__complex__ double x)
}
else
{
-#if 0
double d, r, s;
d = __ieee754_hypot (__real__ x, __imag__ x);
@@ -98,20 +97,11 @@ __csqrt (__complex__ double x)
else
{
s = __ieee754_sqrt (0.5 * d - 0.5 * __real__ x);
- r = (0.5 * __imag__ x) / s;
+ r = fabs ((0.5 * __imag__ x) / s);
}
__real__ res = r;
__imag__ res = __copysign (s, __imag__ x);
-#else
- double d, imag;
-
- d = __ieee754_hypot (__real__ x, __imag__ x);
- imag = __ieee754_sqrt (0.5 * (d - __real__ x));
-
- __real__ res = __ieee754_sqrt (0.5 * (d + __real__ x));
- __imag__ res = __copysign (imag, __imag__ x);
-#endif
}
}
diff --git a/sysdeps/libm-ieee754/s_csqrtf.c b/sysdeps/libm-ieee754/s_csqrtf.c
index 015b0cd..3bc979f 100644
--- a/sysdeps/libm-ieee754/s_csqrtf.c
+++ b/sysdeps/libm-ieee754/s_csqrtf.c
@@ -84,7 +84,6 @@ __csqrtf (__complex__ float x)
}
else
{
-#if 0
float d, r, s;
d = __ieee754_hypotf (__real__ x, __imag__ x);
@@ -98,20 +97,11 @@ __csqrtf (__complex__ float x)
else
{
s = __ieee754_sqrtf (0.5f * d - 0.5f * __real__ x);
- r = (0.5f * __imag__ x) / s;
+ r = fabsf ((0.5f * __imag__ x) / s);
}
__real__ res = r;
__imag__ res = __copysignf (s, __imag__ x);
-#else
- float d, imag;
-
- d = __ieee754_hypotf (__real__ x, __imag__ x);
- imag = __ieee754_sqrtf (0.5 * (d - __real__ x));
-
- __real__ res = __ieee754_sqrtf (0.5 * (d + __real__ x));
- __imag__ res = __copysignf (imag, __imag__ x);
-#endif
}
}
diff --git a/sysdeps/libm-ieee754/s_csqrtl.c b/sysdeps/libm-ieee754/s_csqrtl.c
index 4b7ed98..b806bc6 100644
--- a/sysdeps/libm-ieee754/s_csqrtl.c
+++ b/sysdeps/libm-ieee754/s_csqrtl.c
@@ -84,7 +84,6 @@ __csqrtl (__complex__ long double x)
}
else
{
-#if 0
long double d, r, s;
d = __ieee754_hypotl (__real__ x, __imag__ x);
@@ -98,20 +97,11 @@ __csqrtl (__complex__ long double x)
else
{
s = __ieee754_sqrtl (0.5L * d - 0.5L * __real__ x);
- r = (0.5L * __imag__ x) / s;
+ r = fabsl ((0.5L * __imag__ x) / s);
}
__real__ res = r;
__imag__ res = __copysignl (s, __imag__ x);
-#else
- long double d, imag;
-
- d = __ieee754_hypotl (__real__ x, __imag__ x);
- imag = __ieee754_sqrtl (0.5 * (d - __real__ x));
-
- __real__ res = __ieee754_sqrtl (0.5 * (d + __real__ x));
- __imag__ res = __copysignl (imag, __imag__ x);
-#endif
}
}