summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/s_cacosh.c4
-rw-r--r--math/s_cacoshf.c4
-rw-r--r--math/s_cacoshl.c4
3 files changed, 12 insertions, 0 deletions
diff --git a/math/s_cacosh.c b/math/s_cacosh.c
index e921f0763e..ada7ca5af6 100644
--- a/math/s_cacosh.c
+++ b/math/s_cacosh.c
@@ -80,6 +80,10 @@ __cacosh (__complex__ double x)
__imag__ y += __imag__ x;
res = __clog (y);
+
+ /* We have to use the positive branch. */
+ if (__real__ res < 0.0)
+ res = -res;
}
return res;
diff --git a/math/s_cacoshf.c b/math/s_cacoshf.c
index 3fc48bb617..a062ffc6f6 100644
--- a/math/s_cacoshf.c
+++ b/math/s_cacoshf.c
@@ -95,6 +95,10 @@ __cacoshf (__complex__ float x)
+ ro);
__imag__ res = __ieee754_atan2f (__imag__ x + b, __real__ x + a);
#endif
+
+ /* We have to use the positive branch. */
+ if (__real__ res < 0.0)
+ res = -res;
}
return res;
diff --git a/math/s_cacoshl.c b/math/s_cacoshl.c
index 643858920e..da23c8d8aa 100644
--- a/math/s_cacoshl.c
+++ b/math/s_cacoshl.c
@@ -80,6 +80,10 @@ __cacoshl (__complex__ long double x)
__imag__ y += __imag__ x;
res = __clogl (y);
+
+ /* We have to use the positive branch. */
+ if (__real__ res < 0.0)
+ res = -res;
}
return res;