about summary refs log tree commit diff
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.tar.gz
glibc-89faa0340ad399ead8104f8fb6b7fed81f7d939c.tar.xz
glibc-89faa0340ad399ead8104f8fb6b7fed81f7d939c.zip
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 1ca7765e2c..99b60298ca 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 9ed7660d73..dfce894cc8 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 b3a9e4a015..50de8cf906 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 */