aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2015-09-18 21:19:48 +0100
committerWilco Dijkstra <wdijkstr@arm.com>2015-09-18 21:19:48 +0100
commit89faa0340ad399ead8104f8fb6b7fed81f7d939c (patch)
treecc15f087d86807d128a1fa592d00890e6c0e5982 /math
parent3cc652e951c71785032019fec82e3b8543d85305 (diff)
downloadglibc-89faa0340ad399ead8104f8fb6b7fed81f7d939c.zip
glibc-89faa0340ad399ead8104f8fb6b7fed81f7d939c.tar.gz
glibc-89faa0340ad399ead8104f8fb6b7fed81f7d939c.tar.bz2
Cleanup a few cases where isinf is used to get the signbit to improve the readability and maintainability and allow inlining.
2015-09-18 Wilco Dijkstra <wdijkstr@arm.com> * math/w_tgamma.c (__ieee754_gamma_r): Use explicit sign check. * math/w_tgammaf.c (__ieee754_gammaf_r): Likewise. * math/w_tgammal.c (__ieee754_gammal_r): Likewise. * stdio-common/printf_fp.c (___printf_fp): Use signbit to get the sign. Use isinf macro to allow inlining. * stdio-common/printf_fphex.c (__printf_fphex): Likewise. * stdio-common/printf_size.c (__printf_size): Likewise.
Diffstat (limited to 'math')
-rw-r--r--math/w_tgamma.c2
-rw-r--r--math/w_tgammaf.c2
-rw-r--r--math/w_tgammal.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/math/w_tgamma.c b/math/w_tgamma.c
index 1ca7765..99b6029 100644
--- a/math/w_tgamma.c
+++ b/math/w_tgamma.c
@@ -26,7 +26,7 @@ __tgamma(double x)
double y = __ieee754_gamma_r(x,&local_signgam);
if(__glibc_unlikely (!isfinite (y) || y == 0)
- && (isfinite (x) || isinf (x) < 0)
+ && (isfinite (x) || (isinf (x) && x < 0.0))
&& _LIB_VERSION != _IEEE_) {
if (x == 0.0)
return __kernel_standard(x,x,50); /* tgamma pole */
diff --git a/math/w_tgammaf.c b/math/w_tgammaf.c
index 9ed7660..dfce894 100644
--- a/math/w_tgammaf.c
+++ b/math/w_tgammaf.c
@@ -24,7 +24,7 @@ __tgammaf(float x)
float y = __ieee754_gammaf_r(x,&local_signgam);
if(__glibc_unlikely (!isfinite (y) || y == 0)
- && (isfinite (x) || isinf (x) < 0)
+ && (isfinite (x) || (isinf (x) && x < 0.0))
&& _LIB_VERSION != _IEEE_) {
if (x == (float)0.0)
/* tgammaf pole */
diff --git a/math/w_tgammal.c b/math/w_tgammal.c
index b3a9e4a..50de8cf 100644
--- a/math/w_tgammal.c
+++ b/math/w_tgammal.c
@@ -29,7 +29,7 @@ __tgammal(long double x)
long double y = __ieee754_gammal_r(x,&local_signgam);
if(__glibc_unlikely (!isfinite (y) || y == 0)
- && (isfinite (x) || isinf (x) < 0)
+ && (isfinite (x) || (isinf (x) && x < 0.0))
&& _LIB_VERSION != _IEEE_) {
if(x==0.0)
return __kernel_standard_l(x,x,250); /* tgamma pole */