summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--math/math_private.h3
-rw-r--r--sysdeps/ieee754/flt-32/s_scalbnf.c6
3 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 459ee48d55..4c012d176f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2003-08-27 Ulrich Drepper <drepper@redhat.com>
+ * math/math_private.h: Declare __copysignf.
+ * sysdeps/ieee754/flt-32/s_scalbnf.c: Use __copysignf instead of
+ copysignf.
+
* sysdeps/x86_64/fpu/bits/mathinline.h: Define __signbitf,
__signbit, and __signbitl inline functions.
diff --git a/math/math_private.h b/math/math_private.h
index 84c1d9ad34..f545841df0 100644
--- a/math/math_private.h
+++ b/math/math_private.h
@@ -232,6 +232,9 @@ extern float __kernel_cosf (float,float);
extern float __kernel_tanf (float,float,int);
extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*);
+/* internal functions. */
+extern float __copysignf (float x, float __y);
+
/* ieee style elementary long double functions */
extern long double __ieee754_sqrtl (long double);
diff --git a/sysdeps/ieee754/flt-32/s_scalbnf.c b/sysdeps/ieee754/flt-32/s_scalbnf.c
index 11b77bd6c2..407cf607c7 100644
--- a/sysdeps/ieee754/flt-32/s_scalbnf.c
+++ b/sysdeps/ieee754/flt-32/s_scalbnf.c
@@ -49,13 +49,13 @@ tiny = 1.0e-30;
if (k==0xff) return x+x; /* NaN or Inf */
k = k+n;
if (n> 50000 || k > 0xfe)
- return huge*copysignf(huge,x); /* overflow */
+ return huge*__copysignf(huge,x); /* overflow */
if (n< -50000)
- return tiny*copysignf(tiny,x); /*underflow*/
+ return tiny*__copysignf(tiny,x); /*underflow*/
if (k > 0) /* normal result */
{SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); return x;}
if (k <= -25)
- return tiny*copysignf(tiny,x); /*underflow*/
+ return tiny*__copysignf(tiny,x); /*underflow*/
k += 25; /* subnormal result */
SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23));
return x*twom25;