about summary refs log tree commit diff
path: root/math
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-08-03 20:36:43 +0000
committerUlrich Drepper <drepper@redhat.com>2006-08-03 20:36:43 +0000
commitfe710250508e0710ac5db1fff1596ac5b092ab64 (patch)
tree20919757e4a22703d991807501172f38fb70956b /math
parentf13bfdd0bd6c19bc8060e2733b087c1ff1934a69 (diff)
downloadglibc-fe710250508e0710ac5db1fff1596ac5b092ab64.tar.gz
glibc-fe710250508e0710ac5db1fff1596ac5b092ab64.tar.xz
glibc-fe710250508e0710ac5db1fff1596ac5b092ab64.zip
[BZ #2182]
	* math/s_cacosh.c: Return values from positive branch.
	* math/s_cacoshf.c: Likewise.
	* math/s_cacoshl.c: Likewise.

	* sysvipc/msgrcv.c: Likewise.
	* include/sys/msg.h: Likewise.
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;