diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:03:01 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:03:01 +0000 |
commit | 14970231a38310b9561052a67b617138eeaad300 (patch) | |
tree | 35c201a651afa5d5e4fff241280081b3f88b9c2c /sysdeps/ieee754/flt-32/e_gammaf_r.c | |
parent | f08c7420b5e8b017a1a47b880a62b15bdc588f4d (diff) | |
parent | 25ead03a3712d57df2208fe82f3d316eb8faeaf6 (diff) |
Merge commit 'refs/top-bases/t/extern_inline' into t/extern_inline
Diffstat (limited to 'sysdeps/ieee754/flt-32/e_gammaf_r.c')
-rw-r--r-- | sysdeps/ieee754/flt-32/e_gammaf_r.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/ieee754/flt-32/e_gammaf_r.c b/sysdeps/ieee754/flt-32/e_gammaf_r.c index 19f51b0c8b..8b23add347 100644 --- a/sysdeps/ieee754/flt-32/e_gammaf_r.c +++ b/sysdeps/ieee754/flt-32/e_gammaf_r.c @@ -1,5 +1,5 @@ /* Implementation of gamma function according to ISO C. - 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. @@ -18,7 +18,9 @@ <http://www.gnu.org/licenses/>. */ #include <math.h> +#include <math-narrow-eval.h> #include <math_private.h> +#include <math-underflow.h> #include <float.h> /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's @@ -91,7 +93,7 @@ gammaf_positive (float x, int *exp2_adj) float ret = (__ieee754_powf (x_adj_mant, x_adj) * __ieee754_exp2f (x_adj_log2 * x_adj_frac) * __ieee754_expf (-x_adj) - * __ieee754_sqrtf (2 * (float) M_PI / x_adj) + * sqrtf (2 * (float) M_PI / x_adj) / prod); exp_adj += x_eps * __ieee754_logf (x_adj); float bsum = gamma_coeff[NCOEFF - 1]; @@ -118,7 +120,7 @@ __ieee754_gammaf_r (float x, int *signgamp) return 1.0 / x; } if (__builtin_expect (hx < 0, 0) - && (u_int32_t) hx < 0xff800000 && __rintf (x) == x) + && (uint32_t) hx < 0xff800000 && __rintf (x) == x) { /* Return value for integer x < 0 is NaN with invalid exception. */ *signgamp = 0; |