]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use copysign functions not __copysign functions in glibc libm.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 27 Sep 2018 20:04:48 +0000 (20:04 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 27 Sep 2018 20:04:48 +0000 (20:04 +0000)
Continuing the move to use, within libm, public names for libm
functions that can be inlined as built-in functions on many
architectures, this patch moves calls to __copysign functions to call
the corresponding copysign names instead, with asm redirection to
__copysign when the calls are not inlined (all cases are inlined
except for IBM long double for powerpc soft-float / e500v1).  This
eliminates the need for an inline function defining __copysign in
terms of __builtin_copysign.

Tested for x86_64, and with build-many-glibcs.py.

* include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
__FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT]
(MATH_REDIRECT_BINARY_ARGS): New macro.
[!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
&& !NO_MATH_REDIRECT] (copysign): Redirect using MATH_REDIRECT.
* sysdeps/alpha/fpu/s_copysign.c: Define NO_MATH_REDIRECT before
header inclusion.
* sysdeps/alpha/fpu/s_copysignf.c: Likewise.
* sysdeps/ieee754/dbl-64/s_copysign.c: Likewise.
* sysdeps/ieee754/float128/s_copysignf128.c: Likewise.
* sysdeps/ieee754/flt-32/s_copysignf.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_copysignl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_copysignl.c: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c:
Likewise.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise.
* sysdeps/riscv/rvd/s_copysign.c: Likewise.
* sysdeps/riscv/rvf/s_copysignf.c: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c:
Likewise.
* sysdeps/generic/math_private_calls.h
[!__MATH_DECLARING_LONG_DOUBLE || !NO_LONG_DOUBLE] (__copysign):
Do not declare and define as an inline function.
* math/divtc3.c (__divtc3): Use copysign functions instead of
__copysign variants.
* math/multc3.c (__multc3): Likewise.
* sysdeps/generic/math-type-macros.h (M_COPYSIGN): Likewise.
* sysdeps/ieee754/dbl-64/e_atan2.c (signArctan2): Likewise.
* sysdeps/ieee754/dbl-64/e_atanh.c (__ieee754_atanh): Likewise.
* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
Likewise.
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
(__ieee754_yn): Likewise.
* sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise.
* sysdeps/ieee754/dbl-64/s_atan.c (__signArctan): Likewise.
* sysdeps/ieee754/dbl-64/s_scalbln.c (__scalbln): Likewise.
* sysdeps/ieee754/dbl-64/s_scalbn.c (__scalbn): Likewise.
* sysdeps/ieee754/dbl-64/s_sin.c (do_sin): Likewise.
(__sin): Likewise.
* sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint):
Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c (__scalbln):
Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c (__scalbn):
Likewise.
* sysdeps/ieee754/flt-32/e_atanhf.c (__ieee754_atanhf): Likewise.
* sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
Likewise.
* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
(__ieee754_ynf): Likewise.
* sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise.
* sysdeps/ieee754/flt-32/s_scalbnf.c (__scalbnf): Likewise.
* sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise.
* sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
Likewise.
* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
(__ieee754_ynl): Likewise.
* sysdeps/ieee754/ldbl-128/s_scalblnl.c (__scalblnl): Likewise.
* sysdeps/ieee754/ldbl-128/s_scalbnl.c (__scalbnl): Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
(__ieee754_ynl): Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_fmal.c (__fmal): Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c (__scalblnl): Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c (__scalbnl): Likewise.
* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
Likewise.
* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
(__ieee754_ynl)
* sysdeps/ieee754/ldbl-96/s_asinhl.c (__asinhl): Likewise.
* sysdeps/ieee754/ldbl-96/s_scalblnl.c (__scalblnl): Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-copysign.c (copysignl): Likewise.
* sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise.
* sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise.

57 files changed:
ChangeLog
include/math.h
math/divtc3.c
math/multc3.c
sysdeps/alpha/fpu/s_copysign.c
sysdeps/alpha/fpu/s_copysignf.c
sysdeps/generic/math-type-macros.h
sysdeps/generic/math_private_calls.h
sysdeps/ieee754/dbl-64/e_atan2.c
sysdeps/ieee754/dbl-64/e_atanh.c
sysdeps/ieee754/dbl-64/e_gamma_r.c
sysdeps/ieee754/dbl-64/e_jn.c
sysdeps/ieee754/dbl-64/s_asinh.c
sysdeps/ieee754/dbl-64/s_atan.c
sysdeps/ieee754/dbl-64/s_copysign.c
sysdeps/ieee754/dbl-64/s_scalbln.c
sysdeps/ieee754/dbl-64/s_scalbn.c
sysdeps/ieee754/dbl-64/s_sin.c
sysdeps/ieee754/dbl-64/s_sincos.c
sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c
sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c
sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c
sysdeps/ieee754/float128/s_copysignf128.c
sysdeps/ieee754/flt-32/e_atanhf.c
sysdeps/ieee754/flt-32/e_gammaf_r.c
sysdeps/ieee754/flt-32/e_jnf.c
sysdeps/ieee754/flt-32/s_asinhf.c
sysdeps/ieee754/flt-32/s_copysignf.c
sysdeps/ieee754/flt-32/s_scalbnf.c
sysdeps/ieee754/k_standard.c
sysdeps/ieee754/ldbl-128/e_gammal_r.c
sysdeps/ieee754/ldbl-128/e_jnl.c
sysdeps/ieee754/ldbl-128/s_copysignl.c
sysdeps/ieee754/ldbl-128/s_scalblnl.c
sysdeps/ieee754/ldbl-128/s_scalbnl.c
sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c
sysdeps/ieee754/ldbl-128ibm/e_jnl.c
sysdeps/ieee754/ldbl-128ibm/s_copysignl.c
sysdeps/ieee754/ldbl-128ibm/s_fmal.c
sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c
sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c
sysdeps/ieee754/ldbl-96/e_gammal_r.c
sysdeps/ieee754/ldbl-96/e_jnl.c
sysdeps/ieee754/ldbl-96/s_asinhl.c
sysdeps/ieee754/ldbl-96/s_copysignl.c
sysdeps/ieee754/ldbl-96/s_scalblnl.c
sysdeps/ieee754/ldbl-opt/nldbl-copysign.c
sysdeps/powerpc/power5+/fpu/s_modf.c
sysdeps/powerpc/power5+/fpu/s_modff.c
sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c
sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c
sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c
sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c
sysdeps/riscv/rvd/s_copysign.c
sysdeps/riscv/rvf/s_copysignf.c
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c

index 4e438c88c4f9bfce1f411eebabc0adb29fd8ed23..0af91b490df4b0c2fa2d0224935f10ca1add326c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,88 @@
 2018-09-27  Joseph Myers  <joseph@codesourcery.com>
 
+       * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
+       __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT]
+       (MATH_REDIRECT_BINARY_ARGS): New macro.
+       [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
+       && !NO_MATH_REDIRECT] (copysign): Redirect using MATH_REDIRECT.
+       * sysdeps/alpha/fpu/s_copysign.c: Define NO_MATH_REDIRECT before
+       header inclusion.
+       * sysdeps/alpha/fpu/s_copysignf.c: Likewise.
+       * sysdeps/ieee754/dbl-64/s_copysign.c: Likewise.
+       * sysdeps/ieee754/float128/s_copysignf128.c: Likewise.
+       * sysdeps/ieee754/flt-32/s_copysignf.c: Likewise.
+       * sysdeps/ieee754/ldbl-128/s_copysignl.c: Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise.
+       * sysdeps/ieee754/ldbl-96/s_copysignl.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise.
+       * sysdeps/riscv/rvd/s_copysign.c: Likewise.
+       * sysdeps/riscv/rvf/s_copysignf.c: Likewise.
+       * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c:
+       Likewise.
+       * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c:
+       Likewise.
+       * sysdeps/generic/math_private_calls.h
+       [!__MATH_DECLARING_LONG_DOUBLE || !NO_LONG_DOUBLE] (__copysign):
+       Do not declare and define as an inline function.
+       * math/divtc3.c (__divtc3): Use copysign functions instead of
+       __copysign variants.
+       * math/multc3.c (__multc3): Likewise.
+       * sysdeps/generic/math-type-macros.h (M_COPYSIGN): Likewise.
+       * sysdeps/ieee754/dbl-64/e_atan2.c (signArctan2): Likewise.
+       * sysdeps/ieee754/dbl-64/e_atanh.c (__ieee754_atanh): Likewise.
+       * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
+       Likewise.
+       * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
+       (__ieee754_yn): Likewise.
+       * sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise.
+       * sysdeps/ieee754/dbl-64/s_atan.c (__signArctan): Likewise.
+       * sysdeps/ieee754/dbl-64/s_scalbln.c (__scalbln): Likewise.
+       * sysdeps/ieee754/dbl-64/s_scalbn.c (__scalbn): Likewise.
+       * sysdeps/ieee754/dbl-64/s_sin.c (do_sin): Likewise.
+       (__sin): Likewise.
+       * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise.
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint):
+       Likewise.
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c (__scalbln):
+       Likewise.
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c (__scalbn):
+       Likewise.
+       * sysdeps/ieee754/flt-32/e_atanhf.c (__ieee754_atanhf): Likewise.
+       * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
+       Likewise.
+       * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
+       (__ieee754_ynf): Likewise.
+       * sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise.
+       * sysdeps/ieee754/flt-32/s_scalbnf.c (__scalbnf): Likewise.
+       * sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise.
+       * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
+       Likewise.
+       * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
+       (__ieee754_ynl): Likewise.
+       * sysdeps/ieee754/ldbl-128/s_scalblnl.c (__scalblnl): Likewise.
+       * sysdeps/ieee754/ldbl-128/s_scalbnl.c (__scalbnl): Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
+       Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
+       (__ieee754_ynl): Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/s_fmal.c (__fmal): Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c (__scalblnl): Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c (__scalbnl): Likewise.
+       * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
+       Likewise.
+       * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
+       (__ieee754_ynl)
+       * sysdeps/ieee754/ldbl-96/s_asinhl.c (__asinhl): Likewise.
+       * sysdeps/ieee754/ldbl-96/s_scalblnl.c (__scalblnl): Likewise.
+       * sysdeps/ieee754/ldbl-opt/nldbl-copysign.c (copysignl): Likewise.
+       * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise.
+       * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise.
+
        * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
        __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (round): Redirect
        using MATH_REDIRECT.
index ca9a1f0cd626d58dcd3612b830d3e438fa6eb093..79ebbae35985e82d091eb94bb0e68ca54679d2cf 100644 (file)
@@ -100,12 +100,14 @@ fabsf128 (_Float128 x)
 #    define MATH_REDIRECT_F128(FUNC, PREFIX, ARGS)
 #   endif
 #   define MATH_REDIRECT_UNARY_ARGS(TYPE) TYPE
+#   define MATH_REDIRECT_BINARY_ARGS(TYPE) TYPE, TYPE
 MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
 MATH_REDIRECT (ceil, "__", MATH_REDIRECT_UNARY_ARGS)
 MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
 MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
 MATH_REDIRECT (trunc, "__", MATH_REDIRECT_UNARY_ARGS)
 MATH_REDIRECT (round, "__", MATH_REDIRECT_UNARY_ARGS)
+MATH_REDIRECT (copysign, "__", MATH_REDIRECT_BINARY_ARGS)
 #  endif
 # endif
 
index b1df88bdb702432512986ebd24476f6641b7d26c..e83feca837d36f53f8c5cf8f95e220b445c9b8b6 100644 (file)
@@ -51,22 +51,22 @@ __divtc3 (long double a, long double b, long double c, long double d)
     {
       if (denom == 0.0 && (!isnan (a) || !isnan (b)))
        {
-         x = __copysignl (INFINITY, c) * a;
-         y = __copysignl (INFINITY, c) * b;
+         x = copysignl (INFINITY, c) * a;
+         y = copysignl (INFINITY, c) * b;
        }
       else if ((isinf (a) || isinf (b))
               && isfinite (c) && isfinite (d))
        {
-         a = __copysignl (isinf (a) ? 1 : 0, a);
-         b = __copysignl (isinf (b) ? 1 : 0, b);
+         a = copysignl (isinf (a) ? 1 : 0, a);
+         b = copysignl (isinf (b) ? 1 : 0, b);
          x = INFINITY * (a * c + b * d);
          y = INFINITY * (b * c - a * d);
        }
       else if ((isinf (c) || isinf (d))
               && isfinite (a) && isfinite (b))
        {
-         c = __copysignl (isinf (c) ? 1 : 0, c);
-         d = __copysignl (isinf (d) ? 1 : 0, d);
+         c = copysignl (isinf (c) ? 1 : 0, c);
+         d = copysignl (isinf (d) ? 1 : 0, d);
          x = 0.0 * (a * c + b * d);
          y = 0.0 * (b * c - a * d);
        }
index 9943d705fde8cd6f03ced623f532a2e2b2af951a..775cbfbcce291551ef8c97c7d1d2a33ff932ff89 100644 (file)
@@ -42,20 +42,20 @@ __multc3 (long double a, long double b, long double c, long double d)
        {
          /* z is infinite.  "Box" the infinity and change NaNs in
             the other factor to 0.  */
-         a = __copysignl (isinf (a) ? 1 : 0, a);
-         b = __copysignl (isinf (b) ? 1 : 0, b);
-         if (isnan (c)) c = __copysignl (0, c);
-         if (isnan (d)) d = __copysignl (0, d);
+         a = copysignl (isinf (a) ? 1 : 0, a);
+         b = copysignl (isinf (b) ? 1 : 0, b);
+         if (isnan (c)) c = copysignl (0, c);
+         if (isnan (d)) d = copysignl (0, d);
          recalc = 1;
        }
      if (isinf (c) || isinf (d))
        {
          /* w is infinite.  "Box" the infinity and change NaNs in
             the other factor to 0.  */
-         c = __copysignl (isinf (c) ? 1 : 0, c);
-         d = __copysignl (isinf (d) ? 1 : 0, d);
-         if (isnan (a)) a = __copysignl (0, a);
-         if (isnan (b)) b = __copysignl (0, b);
+         c = copysignl (isinf (c) ? 1 : 0, c);
+         d = copysignl (isinf (d) ? 1 : 0, d);
+         if (isnan (a)) a = copysignl (0, a);
+         if (isnan (b)) b = copysignl (0, b);
          recalc = 1;
        }
      if (!recalc
@@ -63,10 +63,10 @@ __multc3 (long double a, long double b, long double c, long double d)
              || isinf (ad) || isinf (bc)))
        {
          /* Recover infinities from overflow by changing NaNs to 0.  */
-         if (isnan (a)) a = __copysignl (0, a);
-         if (isnan (b)) b = __copysignl (0, b);
-         if (isnan (c)) c = __copysignl (0, c);
-         if (isnan (d)) d = __copysignl (0, d);
+         if (isnan (a)) a = copysignl (0, a);
+         if (isnan (b)) b = copysignl (0, b);
+         if (isnan (c)) c = copysignl (0, c);
+         if (isnan (d)) d = copysignl (0, d);
          recalc = 1;
        }
       if (recalc)
index 493615a896e70ea33d72760b13a417ecfb5d90dc..96c294a6afb61c35e977148fe9012f04844dad3b 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_ldbl_opt.h>
 #include <libm-alias-double.h>
index b92b6d4d7703882910e763f4f648b7572f86d89d..e814a92c68de55541b7ddfea591e58a2653675ee 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-float.h>
 
index 525081525362a19b11308442110185e33ddf9907..40251d595b807861b310326e348cc8763bd1b7a7 100644 (file)
 #define M_HUGE_VAL (M_SUF (__builtin_huge_val) ())
 
 /* Helper macros for commonly used functions.  */
-#define M_COPYSIGN M_SUF (__copysign)
+#define M_COPYSIGN M_SUF (copysign)
 #define M_FABS M_SUF (fabs)
 #define M_SINCOS M_SUF (__sincos)
 #define M_SCALBN M_SUF (__scalbn)
index 16b4ea373683064616e4045e1118f23af7b91e4d..1fd56b80814291a4b53388fde11763856efd1089 100644 (file)
@@ -75,15 +75,6 @@ extern int __MSUF (__kernel_rem_pio2) (_Mdouble_ *, _Mdouble_ *, int,
 #endif
 
 /* Internal functions.  */
-#if !defined __MATH_DECLARING_LONG_DOUBLE || !defined NO_LONG_DOUBLE
-extern _Mdouble_ __MSUF (__copysign) (_Mdouble_ x, _Mdouble_ __y);
-
-extern inline _Mdouble_
-__MSUF (__copysign) (_Mdouble_ x, _Mdouble_ __y)
-{
-  return __MSUF (__builtin_copysign) (x, __y);
-}
-#endif
 
 /* Return X^2 + Y^2 - 1, computed without large cancellation error.
    It is given that 1 > X >= Y >= epsilon / 2, and that X^2 + Y^2 >=
index c3e1b2218ce353f7265bd3ce53df9967577a4bcf..741ba9b42c9d34827ba13fc2612b723c2971942e 100644 (file)
@@ -64,7 +64,7 @@ static double atan2Mp (double, double, const int[]);
 static double
 signArctan2 (double y, double z)
 {
-  return __copysign (z, y);
+  return copysign (z, y);
 }
 
 static double normalized (double, double, double, double);
index da4da8270c0d83f43decf29f3cf2586f9f6b4992..d145b2b923f2e015796a194d20f3ac8c5802fd7e 100644 (file)
@@ -71,6 +71,6 @@ __ieee754_atanh (double x)
       return x / 0.0;
     }
 
-  return __copysign (t, x);
+  return copysign (t, x);
 }
 strong_alias (__ieee754_atanh, __atanh_finite)
index 7707c062cba54dd9588bb7433e25b9fe41339e1c..9692b733e1da357e09cb4d8c70c3fb32ebc1eeef 100644 (file)
@@ -199,22 +199,22 @@ __ieee754_gamma_r (double x, int *signgamp)
     {
       if (*signgamp < 0)
        {
-         ret = math_narrow_eval (-__copysign (DBL_MAX, ret) * DBL_MAX);
+         ret = math_narrow_eval (-copysign (DBL_MAX, ret) * DBL_MAX);
          ret = -ret;
        }
       else
-       ret = math_narrow_eval (__copysign (DBL_MAX, ret) * DBL_MAX);
+       ret = math_narrow_eval (copysign (DBL_MAX, ret) * DBL_MAX);
       return ret;
     }
   else if (ret == 0)
     {
       if (*signgamp < 0)
        {
-         ret = math_narrow_eval (-__copysign (DBL_MIN, ret) * DBL_MIN);
+         ret = math_narrow_eval (-copysign (DBL_MIN, ret) * DBL_MIN);
          ret = -ret;
        }
       else
-       ret = math_narrow_eval (__copysign (DBL_MIN, ret) * DBL_MIN);
+       ret = math_narrow_eval (copysign (DBL_MIN, ret) * DBL_MIN);
       return ret;
     }
   else
index cb7c6cf26659d2843c63ef66ce4593c2ae9bc3cc..aff06ead1668d4e58e0662b706e9a2adc769dd28 100644 (file)
@@ -250,7 +250,7 @@ __ieee754_jn (int n, double x)
   }
   if (ret == 0)
     {
-      ret = math_narrow_eval (__copysign (DBL_MIN, ret) * DBL_MIN);
+      ret = math_narrow_eval (copysign (DBL_MIN, ret) * DBL_MIN);
       __set_errno (ERANGE);
     }
   else
@@ -344,7 +344,7 @@ __ieee754_yn (int n, double x)
   }
  out:
   if (isinf (ret))
-    ret = __copysign (DBL_MAX, ret) * DBL_MAX;
+    ret = copysign (DBL_MAX, ret) * DBL_MAX;
   return ret;
 }
 strong_alias (__ieee754_yn, __yn_finite)
index 192ff8594d94ff04e9f905d3638b8d528c22b4fe..7fd281d7910cca0e70b0a6273d4207ce02014024 100644 (file)
@@ -65,6 +65,6 @@ __asinh (double x)
          w = __log1p (xa + t / (one + sqrt (one + t)));
        }
     }
-  return __copysign (w, x);
+  return copysign (w, x);
 }
 libm_alias_double (__asinh, asinh)
index 311c28fe13a9510ccbcd908135c6f220a45dcaa8..e346581fb6f51ae3a4526818d26a279210502e22 100644 (file)
@@ -57,7 +57,7 @@ static double atanMp (double, const int[]);
 static double
 __signArctan (double x, double y)
 {
-  return __copysign (y, x);
+  return copysign (y, x);
 }
 
 
index ab81d732ab5805d99a48417e610e43868066c5a9..589b088c956682616785dd9d71b66b5e1cb1d54b 100644 (file)
@@ -20,6 +20,7 @@ static char rcsid[] = "$NetBSD: s_copysign.c,v 1.8 1995/05/10 20:46:57 jtc Exp $
  * with the sign bit of y.
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-double.h>
index 32cd12e3b02dfe09eca1ade316c0fa53f379eec3..0e3d732e48842bb69941f98a39afa457aff6d3c6 100644 (file)
@@ -42,9 +42,9 @@ __scalbln (double x, long int n)
   if (__glibc_unlikely (k == 0x7ff))
     return x + x;                                       /* NaN or Inf */
   if (__glibc_unlikely (n < -50000))
-    return tiny * __copysign (tiny, x);   /*underflow*/
+    return tiny * copysign (tiny, x);   /*underflow*/
   if (__glibc_unlikely (n > 50000 || k + n > 0x7fe))
-    return huge * __copysign (huge, x);   /* overflow  */
+    return huge * copysign (huge, x);   /* overflow  */
   /* Now k and n are bounded we know that k = k+n does not
      overflow.  */
   k = k + n;
@@ -53,7 +53,7 @@ __scalbln (double x, long int n)
       SET_HIGH_WORD (x, (hx & 0x800fffff) | (k << 20)); return x;
     }
   if (k <= -54)
-    return tiny * __copysign (tiny, x);         /*underflow*/
+    return tiny * copysign (tiny, x);         /*underflow*/
   k += 54;                                      /* subnormal result */
   SET_HIGH_WORD (x, (hx & 0x800fffff) | (k << 20));
   return x * twom54;
index 58c7e1b33ae4db9a3a31b30b815b0eb140078c49..cf4d6846ee451d682a43a6849a36f50f4456d4b5 100644 (file)
@@ -42,9 +42,9 @@ __scalbn (double x, int n)
   if (__glibc_unlikely (k == 0x7ff))
     return x + x;                                       /* NaN or Inf */
   if (__glibc_unlikely (n < -50000))
-    return tiny * __copysign (tiny, x);   /*underflow*/
+    return tiny * copysign (tiny, x);   /*underflow*/
   if (__glibc_unlikely (n > 50000 || k + n > 0x7fe))
-    return huge * __copysign (huge, x);   /* overflow  */
+    return huge * copysign (huge, x);   /* overflow  */
   /* Now k and n are bounded we know that k = k+n does not
      overflow.  */
   k = k + n;
@@ -53,7 +53,7 @@ __scalbn (double x, int n)
       SET_HIGH_WORD (x, (hx & 0x800fffff) | (k << 20)); return x;
     }
   if (k <= -54)
-    return tiny * __copysign (tiny, x);         /*underflow*/
+    return tiny * copysign (tiny, x);         /*underflow*/
   k += 54;                                      /* subnormal result */
   SET_HIGH_WORD (x, (hx & 0x800fffff) | (k << 20));
   return x * twom54;
index db1687edd50d1a56340422ab747f2935187f185d..212f83c9043007e3ca73704604ce0ecd4e2c98d5 100644 (file)
@@ -144,7 +144,7 @@ do_sin (double x, double dx)
   c = x * dx + xx * (cs2 + xx * (cs4 + xx * cs6));
   SINCOS_TABLE_LOOKUP (u, sn, ssn, cs, ccs);
   cor = (ssn + s * ccs - sn * c) + cs * s;
-  return __copysign (sn + cor, xold);
+  return copysign (sn + cor, xold);
 }
 
 /* Reduce range of x to within PI/2 with abs (x) < 105414350.  The high part
@@ -231,7 +231,7 @@ __sin (double x)
     {
       t = hp0 - fabs (x);
       /* Max ULP is 0.51.  */
-      retval = __copysign (do_cos (t, hp1), x);
+      retval = copysign (do_cos (t, hp1), x);
     }                          /*   else  if (k < 0x400368fd)    */
 
 /*-------------------------- 2.426265<|x|< 105414350 ----------------------*/
index 6dc1609fa421f5910873351b358355689a1cdc37..41664c1bd49e241d3bcb21166b76a5a6eac7c064 100644 (file)
@@ -63,7 +63,7 @@ __sincos (double x, double *sinx, double *cosx)
       y = hp0 - fabs (x);
       a = y + hp1;
       da = (y - a) + hp1;
-      *sinx = __copysign (do_cos (a, da), x);
+      *sinx = copysign (do_cos (a, da), x);
       *cosx = do_sin (a, da);
       return;
     }
index 2bb59de30b878ac30754d57556d07edb381128e4..92fa72af598b02b43e9774be7517faa0b5348785 100644 (file)
@@ -49,7 +49,7 @@ __nearbyint(double x)
                double t =  w-TWO52[sx];
                math_force_eval (t);
                libc_fesetenv (&env);
-               return __copysign (t, x);
+               return copysign (t, x);
            }
        } else {
            if(j0==0x400) return x+x;   /* inf or NaN */
index 8dce51e92817ab223285f6f265ef10243c15241d..071c9d7794ad398006f3e4f050e2509555721b18 100644 (file)
@@ -40,9 +40,9 @@ __scalbln (double x, long int n)
            }
        if (__builtin_expect(k==0x7ff, 0)) return x+x;  /* NaN or Inf */
        if (__builtin_expect(n< -50000, 0))
-         return tiny*__copysign(tiny,x); /*underflow*/
+         return tiny*copysign(tiny,x); /*underflow*/
        if (__builtin_expect(n> 50000 || k+n > 0x7fe, 0))
-         return huge*__copysign(huge,x); /* overflow  */
+         return huge*copysign(huge,x); /* overflow  */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
        k = k+n;
@@ -50,7 +50,7 @@ __scalbln (double x, long int n)
            {INSERT_WORDS64(x,(ix&UINT64_C(0x800fffffffffffff))|(k<<52));
              return x;}
        if (k <= -54)
-         return tiny*__copysign(tiny,x);       /*underflow*/
+         return tiny*copysign(tiny,x); /*underflow*/
        k += 54;                                /* subnormal result */
        INSERT_WORDS64(x,(ix&INT64_C(0x800fffffffffffff))|(k<<52));
        return x*twom54;
index d517a919c83c9f6dade25db34a15498fef60ad92..4491227f3e3b5cf431564146b4aadc9cc206339e 100644 (file)
@@ -40,9 +40,9 @@ __scalbn (double x, int n)
            }
        if (__builtin_expect(k==0x7ff, 0)) return x+x;  /* NaN or Inf */
        if (__builtin_expect(n< -50000, 0))
-         return tiny*__copysign(tiny,x); /*underflow*/
+         return tiny*copysign(tiny,x); /*underflow*/
        if (__builtin_expect(n> 50000 || k+n > 0x7fe, 0))
-         return huge*__copysign(huge,x); /* overflow  */
+         return huge*copysign(huge,x); /* overflow  */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
        k = k+n;
@@ -50,7 +50,7 @@ __scalbn (double x, int n)
            {INSERT_WORDS64(x,(ix&UINT64_C(0x800fffffffffffff))|(k<<52));
              return x;}
        if (k <= -54)
-         return tiny*__copysign(tiny,x);       /*underflow*/
+         return tiny*copysign(tiny,x); /*underflow*/
        k += 54;                                /* subnormal result */
        INSERT_WORDS64(x,(ix&INT64_C(0x800fffffffffffff))|(k<<52));
        return x*twom54;
index 808f7abbc0db7694da30300d0805f38c8e1cd5cf..fcb5162c66515e40d0658cfbba8477370eaf8fb9 100644 (file)
@@ -1,2 +1,3 @@
+#define NO_MATH_REDIRECT
 #include <float128_private.h>
 #include "../ldbl-128/s_copysignl.c"
index 207d75936245d5c3eecdaa23e66c48425ddc17f1..db2462ed5a6179db7c0b7c31eca147a1f8ed6f13 100644 (file)
@@ -71,6 +71,6 @@ __ieee754_atanhf (float x)
       return x / 0.0f;
     }
 
-  return __copysignf (t, x);
+  return copysignf (t, x);
 }
 strong_alias (__ieee754_atanhf, __atanhf_finite)
index 6a9e28a3096fbe1df8357233e76e1da33d17e218..af37abbfe783981f40037921e60fe77da953e75a 100644 (file)
@@ -191,22 +191,22 @@ __ieee754_gammaf_r (float x, int *signgamp)
     {
       if (*signgamp < 0)
        {
-         ret = math_narrow_eval (-__copysignf (FLT_MAX, ret) * FLT_MAX);
+         ret = math_narrow_eval (-copysignf (FLT_MAX, ret) * FLT_MAX);
          ret = -ret;
        }
       else
-       ret = math_narrow_eval (__copysignf (FLT_MAX, ret) * FLT_MAX);
+       ret = math_narrow_eval (copysignf (FLT_MAX, ret) * FLT_MAX);
       return ret;
     }
   else if (ret == 0)
     {
       if (*signgamp < 0)
        {
-         ret = math_narrow_eval (-__copysignf (FLT_MIN, ret) * FLT_MIN);
+         ret = math_narrow_eval (-copysignf (FLT_MIN, ret) * FLT_MIN);
          ret = -ret;
        }
       else
-       ret = math_narrow_eval (__copysignf (FLT_MIN, ret) * FLT_MIN);
+       ret = math_narrow_eval (copysignf (FLT_MIN, ret) * FLT_MIN);
       return ret;
     }
   else
index e8b9425ee0b82199d5a16dac56fc76b583bc05da..ae290154243a3c657b9d01e1577a797b138b1df1 100644 (file)
@@ -174,7 +174,7 @@ __ieee754_jnf(int n, float x)
     }
     if (ret == 0)
       {
-       ret = math_narrow_eval (__copysignf (FLT_MIN, ret) * FLT_MIN);
+       ret = math_narrow_eval (copysignf (FLT_MIN, ret) * FLT_MIN);
        __set_errno (ERANGE);
       }
     else
@@ -230,7 +230,7 @@ __ieee754_ynf(int n, float x)
     }
  out:
     if (isinf (ret))
-       ret = __copysignf (FLT_MAX, ret) * FLT_MAX;
+       ret = copysignf (FLT_MAX, ret) * FLT_MAX;
     return ret;
 }
 strong_alias (__ieee754_ynf, __ynf_finite)
index 0812b54dca45efa978c3d35b171dd51e24fdaf7e..13af5db1eb78c2aaed00ba7995d1bbf0f86b4266 100644 (file)
@@ -47,6 +47,6 @@ __asinhf(float x)
                w =__log1pf(xa+t/(one+sqrtf(one+t)));
            }
        }
-       return __copysignf(w, x);
+       return copysignf(w, x);
 }
 libm_alias_float (__asinh, asinh)
index 3c4ac7ce68e342a82d644adfe87928365b39b45b..77d1d90e92ea7bfd62f7a78badcc81edb7d3e6c7 100644 (file)
@@ -23,6 +23,7 @@ static char rcsid[] = "$NetBSD: s_copysignf.c,v 1.4 1995/05/10 20:46:59 jtc Exp
  * with the sign bit of y.
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-float.h>
index f36ae241b20d810f6301c165d24f5ace44831906..1a760f767aa70f23ff826a7742f552d247b2605b 100644 (file)
@@ -36,16 +36,16 @@ __scalbnf (float x, int n)
            }
        if (__builtin_expect(k==0xff, 0)) return x+x;   /* NaN or Inf */
        if (__builtin_expect(n< -50000, 0))
-         return tiny*__copysignf(tiny,x);      /*underflow*/
+         return tiny*copysignf(tiny,x);        /*underflow*/
        if (__builtin_expect(n> 50000 || k+n > 0xfe, 0))
-         return huge*__copysignf(huge,x); /* overflow  */
+         return huge*copysignf(huge,x); /* overflow  */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
        k = k+n;
        if (__builtin_expect(k > 0, 1))         /* 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;
index f71a83798037dc48d4f9f9ec88a1daf7a472b24a..826f19785a82b0e2cd56325ef48c564e740bb137 100644 (file)
@@ -693,7 +693,7 @@ __kernel_standard(double x, double y, int type)
                /* scalb underflow */
                exc.type = UNDERFLOW;
                exc.name = CSTR ("scalb");
-               exc.retval = __copysign(zero,x);
+               exc.retval = copysign(zero,x);
                if (_LIB_VERSION == _POSIX_)
                  __set_errno (ERANGE);
                else if (!matherr(&exc)) {
@@ -808,7 +808,7 @@ __kernel_standard(double x, double y, int type)
                /* tgamma(finite) overflow */
                exc.type = OVERFLOW;
                exc.name = CSTR ("tgamma");
-               exc.retval = __copysign (HUGE_VAL, x);
+               exc.retval = copysign (HUGE_VAL, x);
                if (_LIB_VERSION == _POSIX_)
                  __set_errno (ERANGE);
                else if (!matherr(&exc)) {
@@ -930,7 +930,7 @@ __kernel_standard(double x, double y, int type)
                /* tgamma(+-0) */
                exc.type = SING;
                exc.name = CSTR ("tgamma");
-               exc.retval = __copysign (HUGE_VAL, x);
+               exc.retval = copysign (HUGE_VAL, x);
                if (_LIB_VERSION == _POSIX_)
                  __set_errno (ERANGE);
                else if (!matherr(&exc)) {
index 837395e1fd9408291413e10b19ef188c8c804add..b8690b0c96c46b61da5e82ae43d550305229e307 100644 (file)
@@ -203,16 +203,16 @@ __ieee754_gammal_r (_Float128 x, int *signgamp)
   if (isinf (ret) && x != 0)
     {
       if (*signgamp < 0)
-       return -(-__copysignl (LDBL_MAX, ret) * LDBL_MAX);
+       return -(-copysignl (LDBL_MAX, ret) * LDBL_MAX);
       else
-       return __copysignl (LDBL_MAX, ret) * LDBL_MAX;
+       return copysignl (LDBL_MAX, ret) * LDBL_MAX;
     }
   else if (ret == 0)
     {
       if (*signgamp < 0)
-       return -(-__copysignl (LDBL_MIN, ret) * LDBL_MIN);
+       return -(-copysignl (LDBL_MIN, ret) * LDBL_MIN);
       else
-       return __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+       return copysignl (LDBL_MIN, ret) * LDBL_MIN;
     }
   else
     return ret;
index 540b95ca5893bae33b2d60f0139b8e0f1f82bfa4..7610d18c67fd06dd625eb761594a78dc71451b41 100644 (file)
@@ -299,7 +299,7 @@ __ieee754_jnl (int n, _Float128 x)
   }
   if (ret == 0)
     {
-      ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+      ret = copysignl (LDBL_MIN, ret) * LDBL_MIN;
       __set_errno (ERANGE);
     }
   else
@@ -415,7 +415,7 @@ __ieee754_ynl (int n, _Float128 x)
   }
  out:
   if (isinf (ret))
-    ret = __copysignl (LDBL_MAX, ret) * LDBL_MAX;
+    ret = copysignl (LDBL_MAX, ret) * LDBL_MAX;
   return ret;
 }
 strong_alias (__ieee754_ynl, __ynl_finite)
index d23e0f72eaa29fe403873a6a9e5b3add8080dd09..a501139f71bc025f1f89d6d7c269806b653f82c2 100644 (file)
@@ -23,6 +23,7 @@ static char rcsid[] = "$NetBSD: $";
  * with the sign bit of y.
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-ldouble.h>
index 5864eaf93cea9b00cbfa68f0ccf6d3503e5e6be2..590b2ca02345eaf32e0b75d07775159ae8a997fa 100644 (file)
@@ -46,16 +46,16 @@ _Float128 __scalblnl (_Float128 x, long int n)
            k = ((hx>>48)&0x7fff) - 114;
        }
         if (k==0x7fff) return x+x;             /* NaN or Inf */
-       if (n< -50000) return tiny*__copysignl(tiny,x); /*underflow*/
+       if (n< -50000) return tiny*copysignl(tiny,x); /*underflow*/
         if (n> 50000 || k+n > 0x7ffe)
-         return huge*__copysignl(huge,x); /* overflow  */
+         return huge*copysignl(huge,x); /* overflow  */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
         k = k+n;
         if (k > 0)                             /* normal result */
            {SET_LDOUBLE_MSW64(x,(hx&0x8000ffffffffffffULL)|(k<<48)); return x;}
         if (k <= -114)
-         return tiny*__copysignl(tiny,x);      /*underflow*/
+         return tiny*copysignl(tiny,x);        /*underflow*/
         k += 114;                              /* subnormal result */
        SET_LDOUBLE_MSW64(x,(hx&0x8000ffffffffffffULL)|(k<<48));
         return x*twom114;
index e6fe796079f0848e9f377095d87e5396e932c629..ad9a0b105a74dfd0c1ff376a3c45401fce588091 100644 (file)
@@ -46,16 +46,16 @@ _Float128 __scalbnl (_Float128 x, int n)
            k = ((hx>>48)&0x7fff) - 114;
        }
         if (k==0x7fff) return x+x;             /* NaN or Inf */
-       if (n< -50000) return tiny*__copysignl(tiny,x); /*underflow*/
+       if (n< -50000) return tiny*copysignl(tiny,x); /*underflow*/
         if (n> 50000 || k+n > 0x7ffe)
-         return huge*__copysignl(huge,x); /* overflow  */
+         return huge*copysignl(huge,x); /* overflow  */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
         k = k+n;
         if (k > 0)                             /* normal result */
            {SET_LDOUBLE_MSW64(x,(hx&0x8000ffffffffffffULL)|(k<<48)); return x;}
         if (k <= -114)
-         return tiny*__copysignl(tiny,x);      /*underflow*/
+         return tiny*copysignl(tiny,x);        /*underflow*/
         k += 114;                              /* subnormal result */
        SET_LDOUBLE_MSW64(x,(hx&0x8000ffffffffffffULL)|(k<<48));
         return x*twom114;
index 6361d3542889dc4fcf4ef79bb72837fb69f6b462..e648ca1a27c2e48279812e6fe1c64f47ac51810a 100644 (file)
@@ -203,16 +203,16 @@ __ieee754_gammal_r (long double x, int *signgamp)
   if (isinf (ret) && x != 0)
     {
       if (*signgamp < 0)
-       return -(-__copysignl (LDBL_MAX, ret) * LDBL_MAX);
+       return -(-copysignl (LDBL_MAX, ret) * LDBL_MAX);
       else
-       return __copysignl (LDBL_MAX, ret) * LDBL_MAX;
+       return copysignl (LDBL_MAX, ret) * LDBL_MAX;
     }
   else if (ret == 0)
     {
       if (*signgamp < 0)
-       return -(-__copysignl (LDBL_MIN, ret) * LDBL_MIN);
+       return -(-copysignl (LDBL_MIN, ret) * LDBL_MIN);
       else
-       return __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+       return copysignl (LDBL_MIN, ret) * LDBL_MIN;
     }
   else
     return ret;
index 208def09c992f20ec7815c9e342bff8e4a271090..50b4558e747c97b2bbe91199e3d5f24fc47d8268 100644 (file)
@@ -299,7 +299,7 @@ __ieee754_jnl (int n, long double x)
   }
   if (ret == 0)
     {
-      ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+      ret = copysignl (LDBL_MIN, ret) * LDBL_MIN;
       __set_errno (ERANGE);
     }
   else
@@ -417,7 +417,7 @@ __ieee754_ynl (int n, long double x)
   }
  out:
   if (isinf (ret))
-    ret = __copysignl (LDBL_MAX, ret) * LDBL_MAX;
+    ret = copysignl (LDBL_MAX, ret) * LDBL_MAX;
   return ret;
 }
 strong_alias (__ieee754_ynl, __ynl_finite)
index 3b8ec1a74df7c98d0ec80562e627fe5f2d17c556..4214853fed12536cfc7ec23f6caf440705d0526a 100644 (file)
@@ -23,6 +23,7 @@ static char rcsid[] = "$NetBSD: $";
  * with the sign bit of y.
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <math_ldbl_opt.h>
index bc61e9049c17e690bf91d765a6d6b4b5dc724a94..5b55268c2167322c6b0ecff87f8cebf91313812e 100644 (file)
@@ -244,7 +244,7 @@ __fmal (long double x, long double y, long double z)
   scale_val = math_opt_barrier (scale_val);
   scale_val = __scalbn (scale_val, scale_exp);
   if (fabs (scale_val) == DBL_MAX)
-    return __copysignl (LDBL_MAX, scale_val);
+    return copysignl (LDBL_MAX, scale_val);
   math_check_force_underflow (scale_val);
   return scale_val;
 
index 031635267f8abd71b3d81c51110692dc1c16fb7a..b6a2d30736d16a18f0a58b9a72d634c128d7d9a0 100644 (file)
@@ -56,9 +56,9 @@ long double __scalblnl (long double x, long int n)
            k = ((hx>>52)&0x7ff) - 54;
        }
        else if (k==0x7ff) return x+x;          /* NaN or Inf */
-       if (n< -50000) return tiny*__copysignl(tiny,x); /*underflow */
+       if (n< -50000) return tiny*copysignl(tiny,x); /*underflow */
        if (n> 50000 || k+n > 0x7fe)
-         return huge*__copysignl(huge,x); /* overflow */
+         return huge*copysignl(huge,x); /* overflow */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
        k = k+n;
@@ -93,7 +93,7 @@ long double __scalblnl (long double x, long int n)
            return x;
        }
        if (k <= -54)
-         return tiny*__copysignl(tiny,x);      /*underflow*/
+         return tiny*copysignl(tiny,x);        /*underflow*/
        k += 54;                                /* subnormal result */
        lx &= 0x8000000000000000ULL;
        hx &= 0x800fffffffffffffULL;
index 0c4508835e9cf0102aa7ec1d7565f01c153824d7..bbefa866613c278a753d7829ad1ef40fee7fb25d 100644 (file)
@@ -56,9 +56,9 @@ long double __scalbnl (long double x, int n)
            k = ((hx>>52)&0x7ff) - 54;
        }
        else if (k==0x7ff) return x+x;          /* NaN or Inf */
-       if (n< -50000) return tiny*__copysignl(tiny,x); /*underflow */
+       if (n< -50000) return tiny*copysignl(tiny,x); /*underflow */
        if (n> 50000 || k+n > 0x7fe)
-         return huge*__copysignl(huge,x); /* overflow */
+         return huge*copysignl(huge,x); /* overflow */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
        k = k+n;
@@ -93,7 +93,7 @@ long double __scalbnl (long double x, int n)
            return x;
        }
        if (k <= -54)
-         return tiny*__copysignl(tiny,x);      /*underflow*/
+         return tiny*copysignl(tiny,x);        /*underflow*/
        k += 54;                                /* subnormal result */
        lx &= 0x8000000000000000ULL;
        hx &= 0x800fffffffffffffULL;
index 49428eba445db2d886e9bb961c426b3aaaff8692..c4a166db2d43bda81c7821e2d8b1e5837718ca91 100644 (file)
@@ -195,16 +195,16 @@ __ieee754_gammal_r (long double x, int *signgamp)
   if (isinf (ret) && x != 0)
     {
       if (*signgamp < 0)
-       return -(-__copysignl (LDBL_MAX, ret) * LDBL_MAX);
+       return -(-copysignl (LDBL_MAX, ret) * LDBL_MAX);
       else
-       return __copysignl (LDBL_MAX, ret) * LDBL_MAX;
+       return copysignl (LDBL_MAX, ret) * LDBL_MAX;
     }
   else if (ret == 0)
     {
       if (*signgamp < 0)
-       return -(-__copysignl (LDBL_MIN, ret) * LDBL_MIN);
+       return -(-copysignl (LDBL_MIN, ret) * LDBL_MIN);
       else
-       return __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+       return copysignl (LDBL_MIN, ret) * LDBL_MIN;
     }
   else
     return ret;
index fd28f6ae916b9e1089c4421444ed0e4bdaa90a79..855190841b178df299eb4c1419a3c136a94dcc3e 100644 (file)
@@ -292,7 +292,7 @@ __ieee754_jnl (int n, long double x)
   }
   if (ret == 0)
     {
-      ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+      ret = copysignl (LDBL_MIN, ret) * LDBL_MIN;
       __set_errno (ERANGE);
     }
   else
@@ -400,7 +400,7 @@ __ieee754_ynl (int n, long double x)
   }
  out:
   if (isinf (ret))
-    ret = __copysignl (LDBL_MAX, ret) * LDBL_MAX;
+    ret = copysignl (LDBL_MAX, ret) * LDBL_MAX;
   return ret;
 }
 strong_alias (__ieee754_ynl, __ynl_finite)
index 2b9ae1f67702a66e5df40bdbaeccc1609dc6c0ac..0edd3321505da0dc1957eb5a750bf86a62f219d5 100644 (file)
@@ -62,6 +62,6 @@ long double __asinhl(long double x)
                w =__log1pl(xa+t/(one+sqrtl(one+t)));
            }
        }
-       return __copysignl(w, x);
+       return copysignl(w, x);
 }
 libm_alias_ldouble (__asinh, asinh)
index 3c16d54783404ba636d568523aa0880820b25c3b..d0a6dc163a39b25f1eff1da2ae529c637e31ac66 100644 (file)
@@ -24,6 +24,7 @@ static char rcsid[] = "$NetBSD: $";
  * with the sign bit of y.
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-ldouble.h>
index 457e999c6c9c36737e4159d909d2d8b003cd3c0a..d752248037fc0bd29a73c3ea83f8f3b92480e040 100644 (file)
@@ -44,16 +44,16 @@ __scalblnl (long double x, long int n)
            }
        if (__builtin_expect(k==0x7fff, 0)) return x+x; /* NaN or Inf */
        if (__builtin_expect(n< -50000, 0))
-         return tiny*__copysignl(tiny,x);
+         return tiny*copysignl(tiny,x);
        if (__builtin_expect(n> 50000 || k+n > 0x7ffe, 0))
-         return huge*__copysignl(huge,x); /* overflow  */
+         return huge*copysignl(huge,x); /* overflow  */
        /* Now k and n are bounded we know that k = k+n does not
           overflow.  */
        k = k+n;
        if (__builtin_expect(k > 0, 1))         /* normal result */
            {SET_LDOUBLE_EXP(x,(es&0x8000)|k); return x;}
        if (k <= -64)
-           return tiny*__copysignl(tiny,x);    /*underflow*/
+           return tiny*copysignl(tiny,x);      /*underflow*/
        k += 64;                                /* subnormal result */
        SET_LDOUBLE_EXP(x,(es&0x8000)|k);
        return x*twom64;
index 045f00dda88149ce1e799dee0a8e0d7affd8ad36..ef23badeccca839274af5bcb202f61baf546babc 100644 (file)
@@ -4,5 +4,5 @@ double
 attribute_hidden
 copysignl (double x, double y)
 {
-  return __copysign (x, y);
+  return copysign (x, y);
 }
index 20c828c778a0d485f782e358b87aae713588a701..b8ff8dbdb3d46ef56ce85b5d20f319a842fdc267 100644 (file)
@@ -26,7 +26,7 @@ __modf (double x, double *iptr)
   if (__builtin_isinf (x))
     {
       *iptr = x;
-      return __copysign (0.0, x);
+      return copysign (0.0, x);
     }
   else if (__builtin_isnan (x))
     {
@@ -37,12 +37,12 @@ __modf (double x, double *iptr)
   if (x >= 0.0)
     {
       *iptr = floor (x);
-      return __copysign (x - *iptr, x);
+      return copysign (x - *iptr, x);
     }
   else
     {
       *iptr = ceil (x);
-      return __copysign (x - *iptr, x);
+      return copysign (x - *iptr, x);
     }
 }
 libm_alias_double (__modf, modf)
index 807bfe1e03f3409529ab7541ff28535c9a49e3e7..9f11116691987682f6c853c30dd59db0ac78978c 100644 (file)
@@ -25,7 +25,7 @@ __modff (float x, float *iptr)
   if (__builtin_isinff (x))
     {
       *iptr = x;
-      return __copysignf (0.0, x);
+      return copysignf (0.0, x);
     }
   else if (__builtin_isnanf (x))
     {
@@ -36,12 +36,12 @@ __modff (float x, float *iptr)
   if (x >= 0.0)
     {
       *iptr = floorf (x);
-      return __copysignf (x - *iptr, x);
+      return copysignf (x - *iptr, x);
     }
   else
     {
       *iptr = ceilf (x);
-      return __copysignf (x - *iptr, x);
+      return copysignf (x - *iptr, x);
     }
 }
 libm_alias_float (__modf, modf)
index 86df7d6bc229dca43213d66965c2ee77d0363a0d..f2a6f9b23b0a638f9093c8c787253f6ff387d431 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 /* Redefine copysign so that the compiler won't complain about the type
    mismatch with the IFUNC selector in strong_alias below.  */
 #undef __copysign
index d2900b3287cf45b50e78f9390cc2eb9cd784af32..6dd869bfcd21fce02c60338910dfb09ac3a52432 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
index 74ce0973977764f7c30162d17cc7ef9cd251d957..9cb5e39c3cac08dbb5e9dfd2328b50d826220436 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 /* Redefine copysign so that the compiler won't complain about the type
    mismatch with the IFUNC selector in strong_alias below.  */
 #undef __copysign
index 377a3f814c1c4dce0bc4914859e8e44845868fad..c76c3f6877e450a98b691cebb6919e6924e6c782 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
index 36fef55aa276640653b0f13c277e1ebaf47488f1..b3f52aa77b5ed53ebeb3fab5ba1fb507055cc9b4 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-double.h>
 
index 4d1c122f7ea566738d7dfd363131f990da627924..60473b0cbfd17e8a640f7867d0ee5505f550e10f 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-float.h>
 
index 291e697d99abb107ba3c6c5d2980cdfb2ef8020d..fe7c3eb62bd4d0e781f92c4cf4ed4666517913b4 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #define __copysign __redirect_copysign
 #include <math.h>
 #include <math_ldbl_opt.h>
index c051167b48e9338811e7d4b3b4fe9203a04a7dc2..b8a985521482bbed9cd933fef2b2a82a85f6bcb3 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <sparc-ifunc.h>
 #include <libm-alias-float.h>