diff options
Diffstat (limited to 'sysdeps/ieee754/dbl-64/wordsize-64/s_round.c')
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_round.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c index f1d75bbe68..3323621ce3 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c @@ -1,5 +1,5 @@ /* Round double to integer away from zero. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -20,10 +20,9 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-double.h> #include <stdint.h> -static const double huge = 1.0e300; - double __round (double x) @@ -36,8 +35,6 @@ __round (double x) { if (j0 < 0) { - math_force_eval (huge + x); - i0 &= UINT64_C(0x8000000000000000); if (j0 == -1) i0 |= UINT64_C(0x3ff0000000000000); @@ -48,9 +45,7 @@ __round (double x) if ((i0 & i) == 0) /* X is integral. */ return x; - math_force_eval (huge + x); - /* Raise inexact if x != 0. */ i0 += UINT64_C(0x0008000000000000) >> j0; i0 &= ~i; } @@ -67,8 +62,4 @@ __round (double x) INSERT_WORDS64 (x, i0); return x; } -weak_alias (__round, round) -#ifdef NO_LONG_DOUBLE -strong_alias (__round, __roundl) -weak_alias (__round, roundl) -#endif +libm_alias_double (__round, round) |