diff options
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c')
-rw-r--r-- | sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c b/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c index 8dbb131f93..84ea7ee0f5 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_gammal_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 and Jakub Jelinek <jj@ultra.linux.cz, 1999. @@ -20,6 +20,7 @@ #include <math.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 @@ -106,7 +107,7 @@ gammal_positive (long double x, int *exp2_adj) long double ret = (__ieee754_powl (x_adj_mant, x_adj) * __ieee754_exp2l (x_adj_log2 * x_adj_frac) * __ieee754_expl (-x_adj) - * __ieee754_sqrtl (2 * M_PIl / x_adj) + * sqrtl (2 * M_PIl / x_adj) / prod); exp_adj += x_eps * __ieee754_logl (x_adj); long double bsum = gamma_coeff[NCOEFF - 1]; @@ -134,7 +135,7 @@ __ieee754_gammal_r (long double x, int *signgamp) *signgamp = 0; return 1.0 / x; } - if (hx < 0 && (u_int64_t) hx < 0xfff0000000000000ULL && __rintl (x) == x) + if (hx < 0 && (uint64_t) hx < 0xfff0000000000000ULL && __rintl (x) == x) { /* Return value for integer x < 0 is NaN with invalid exception. */ *signgamp = 0; |