mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 14:20:07 +00:00
Remove conditional on LDBL_MANT_DIG from e_lgammal_r.c
The IEEE 754 implementation of lgammal in sysdeps/ieee754/ldbl-128/ used to be shared by IBM's implementation in sysdeps/ieee754/ldbl-128ibm/ (by an inclusion of the source file). In order for the algorithm to work for IBM's implementation, a check for LDBL_MANT_DIG was required. Since the source file is no longer shared, the requirement for the check is gone. This patch removes the conditionals. Tested for powerpc64le and s390x. * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): Remove conditionals on LDBL_MANT_DIG. * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c (__ieee754_lgammal_r): Likewise.
This commit is contained in:
parent
d2f0ed09f8
commit
9ac3c68218
@ -1,3 +1,10 @@
|
||||
2017-09-21 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
||||
|
||||
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
|
||||
Remove conditionals on LDBL_MANT_DIG.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c
|
||||
(__ieee754_lgammal_r): Likewise.
|
||||
|
||||
2017-09-21 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
||||
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_expl.c: Remove definitions of
|
||||
|
@ -73,11 +73,7 @@
|
||||
#include <float.h>
|
||||
|
||||
static const _Float128 PIL = L(3.1415926535897932384626433832795028841972E0);
|
||||
#if LDBL_MANT_DIG == 106
|
||||
static const _Float128 MAXLGM = L(0x5.d53649e2d469dbc1f01e99fd66p+1012);
|
||||
#else
|
||||
static const _Float128 MAXLGM = L(1.0485738685148938358098967157129705071571E4928);
|
||||
#endif
|
||||
static const _Float128 one = 1;
|
||||
static const _Float128 huge = LDBL_MAX;
|
||||
|
||||
@ -777,7 +773,7 @@ __ieee754_lgammal_r (_Float128 x, int *signgamp)
|
||||
|
||||
if (x < 0)
|
||||
{
|
||||
if (x < -2 && x > (LDBL_MANT_DIG == 106 ? -48 : -50))
|
||||
if (x < -2 && x > -50)
|
||||
return __lgamma_negl (x, signgamp);
|
||||
q = -x;
|
||||
p = __floorl (q);
|
||||
|
@ -23,11 +23,7 @@
|
||||
#include <float.h>
|
||||
|
||||
static const long double PIL = 3.1415926535897932384626433832795028841972E0L;
|
||||
#if LDBL_MANT_DIG == 106
|
||||
static const long double MAXLGM = 0x5.d53649e2d469dbc1f01e99fd66p+1012L;
|
||||
#else
|
||||
static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L;
|
||||
#endif
|
||||
static const long double one = 1;
|
||||
static const long double huge = LDBL_MAX;
|
||||
|
||||
@ -727,7 +723,7 @@ __ieee754_lgammal_r (long double x, int *signgamp)
|
||||
|
||||
if (x < 0)
|
||||
{
|
||||
if (x < -2 && x > (LDBL_MANT_DIG == 106 ? -48 : -50))
|
||||
if (x < -2 && x > -48)
|
||||
return __lgamma_negl (x, signgamp);
|
||||
q = -x;
|
||||
p = __floorl (q);
|
||||
|
Loading…
Reference in New Issue
Block a user