about summary refs log tree commit diff
path: root/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-01-17 13:00:11 +0000
committerJakub Jelinek <jakub@redhat.com>2007-01-17 13:00:11 +0000
commitcd8127cc70f63e8d920880d32dd8887ab215d8ae (patch)
tree17a7618a81b7ece3d8c1f014436cea38bdafb965 /sysdeps/ieee754/ldbl-128ibm/s_copysignl.c
parent4a2e03c66c725785ce7921f25a8220ad3d7fee8a (diff)
downloadglibc-cd8127cc70f63e8d920880d32dd8887ab215d8ae.tar.gz
glibc-cd8127cc70f63e8d920880d32dd8887ab215d8ae.tar.xz
glibc-cd8127cc70f63e8d920880d32dd8887ab215d8ae.zip
[BZ #2749]
* sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Include 
<math_ldbl_opt.h>.  Remove weak_alias.  Use long_double_symbol macro. 
(__copysignl): Use signbit() for comparison. 
* sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Correct parms for 
SET_LDOUBLE_WORDS64.
	[BZ #2423, #2749]
	* sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Don't include <fenv_libc.h>.
	(__ceill): Remove calls to fegetround(), fesetround().
	* sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise.
2007-01-12  Steven Munroe  <sjmunroe@us.ibm.com>
	    Joe Kerian  <jkerian@us.us.ibm.com>

	[BZ #2749]
	* sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Include
	<math_ldbl_opt.h>.  Remove weak_alias.  Use long_double_symbol macro.
	(__copysignl): Use signbit() for comparison.
	* sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Correct parms for
	SET_LDOUBLE_WORDS64.

	[BZ #2423, #2749]
	* sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Don't include <fenv_libc.h>.
	(__ceill): Remove calls to fegetround(), fesetround().
	* sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise.
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm/s_copysignl.c')
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_copysignl.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c b/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c
index 7e7b44168d..1a198c16e8 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c
@@ -25,6 +25,7 @@ static char rcsid[] = "$NetBSD: $";
 
 #include "math.h"
 #include "math_private.h"
+#include <math_ldbl_opt.h>
 
 #ifdef __STDC__
 	long double __copysignl(long double x, long double y)
@@ -33,13 +34,13 @@ static char rcsid[] = "$NetBSD: $";
 	long double x,y;
 #endif
 {
-  if (y < 0.0)
-    {
-      if (x >= 0.0)
-	x = -x;
-    }
-  else if (x < 0.0)
+  if (signbit (x) != signbit (y))
     x = -x;
   return x;
 }
-weak_alias (__copysignl, copysignl)
+
+#ifdef IS_IN_libm
+long_double_symbol (libm, __copysignl, copysignl);
+#else
+long_double_symbol (libc, __copysignl, copysignl);
+#endif