summaryrefslogtreecommitdiff
path: root/libquadmath/math/casinhq.c
diff options
context:
space:
mode:
Diffstat (limited to 'libquadmath/math/casinhq.c')
-rw-r--r--libquadmath/math/casinhq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libquadmath/math/casinhq.c b/libquadmath/math/casinhq.c
index ffa45fa81d9..11487b967fc 100644
--- a/libquadmath/math/casinhq.c
+++ b/libquadmath/math/casinhq.c
@@ -72,6 +72,11 @@ casinhq (__complex128 x)
__imag__ y += __imag__ x;
res = clogq (y);
+
+ /* Ensure zeros have correct sign and results are correct if
+ very close to branch cuts. */
+ __real__ res = copysignq (__real__ res, __real__ x);
+ __imag__ res = copysignq (__imag__ res, __imag__ x);
}
return res;