This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.22-273-g89faa03
- From: wilco at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 18 Sep 2015 20:26:44 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.22-273-g89faa03
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 89faa0340ad399ead8104f8fb6b7fed81f7d939c (commit)
from 3cc652e951c71785032019fec82e3b8543d85305 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=89faa0340ad399ead8104f8fb6b7fed81f7d939c
commit 89faa0340ad399ead8104f8fb6b7fed81f7d939c
Author: Wilco Dijkstra <wdijkstr@arm.com>
Date: Fri Sep 18 21:19:48 2015 +0100
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.
diff --git a/ChangeLog b/ChangeLog
index 7d2bf7f..67c837d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+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.
+
2015-09-18 Mike Frysinger <vapier@gentoo.org>
* timezone/Makefile ($(testdata)/XT%): Call $(make-target-directory).
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 */
diff --git a/stdio-common/printf_fp.c b/stdio-common/printf_fp.c
index 3023b20..11f3145 100644
--- a/stdio-common/printf_fp.c
+++ b/stdio-common/printf_fp.c
@@ -332,7 +332,6 @@ ___printf_fp (FILE *fp,
fpnum.ldbl = *(const long double *) args[0];
/* Check for special values: not a number or infinity. */
- int res;
if (isnan (fpnum.ldbl))
{
is_neg = signbit (fpnum.ldbl);
@@ -347,9 +346,9 @@ ___printf_fp (FILE *fp,
wspecial = L"nan";
}
}
- else if ((res = __isinfl (fpnum.ldbl)))
+ else if (isinf (fpnum.ldbl))
{
- is_neg = res < 0;
+ is_neg = signbit (fpnum.ldbl);
if (isupper (info->spec))
{
special = "INF";
@@ -377,11 +376,9 @@ ___printf_fp (FILE *fp,
fpnum.dbl = *(const double *) args[0];
/* Check for special values: not a number or infinity. */
- int res;
if (isnan (fpnum.dbl))
{
- union ieee754_double u = { .d = fpnum.dbl };
- is_neg = u.ieee.negative != 0;
+ is_neg = signbit (fpnum.dbl);
if (isupper (info->spec))
{
special = "NAN";
@@ -393,9 +390,9 @@ ___printf_fp (FILE *fp,
wspecial = L"nan";
}
}
- else if ((res = __isinf (fpnum.dbl)))
+ else if (isinf (fpnum.dbl))
{
- is_neg = res < 0;
+ is_neg = signbit (fpnum.dbl);
if (isupper (info->spec))
{
special = "INF";
diff --git a/stdio-common/printf_fphex.c b/stdio-common/printf_fphex.c
index 6c3b5e9..0627bea 100644
--- a/stdio-common/printf_fphex.c
+++ b/stdio-common/printf_fphex.c
@@ -180,7 +180,7 @@ __printf_fphex (FILE *fp,
}
else
{
- if (__isinfl (fpnum.ldbl))
+ if (isinf (fpnum.ldbl))
{
if (isupper (info->spec))
{
@@ -204,7 +204,6 @@ __printf_fphex (FILE *fp,
/* Check for special values: not a number or infinity. */
if (isnan (fpnum.dbl.d))
{
- negative = fpnum.dbl.ieee.negative != 0;
if (isupper (info->spec))
{
special = "NAN";
@@ -218,8 +217,7 @@ __printf_fphex (FILE *fp,
}
else
{
- int res = __isinf (fpnum.dbl.d);
- if (res)
+ if (isinf (fpnum.dbl.d))
{
if (isupper (info->spec))
{
@@ -231,11 +229,9 @@ __printf_fphex (FILE *fp,
special = "inf";
wspecial = L"inf";
}
- negative = res < 0;
}
- else
- negative = signbit (fpnum.dbl.d);
}
+ negative = signbit (fpnum.dbl.d);
}
if (special)
diff --git a/stdio-common/printf_size.c b/stdio-common/printf_size.c
index 7dcd58e..216f170 100644
--- a/stdio-common/printf_size.c
+++ b/stdio-common/printf_size.c
@@ -108,7 +108,7 @@ __printf_size (FILE *fp, const struct printf_info *info,
fpnum;
const void *ptr = &fpnum;
- int fpnum_sign = 0;
+ int is_neg = 0;
/* "NaN" or "Inf" for the special cases. */
const char *special = NULL;
@@ -117,7 +117,6 @@ __printf_size (FILE *fp, const struct printf_info *info,
struct printf_info fp_info;
int done = 0;
int wide = info->wide;
- int res;
/* Fetch the argument value. */
#ifndef __NO_LONG_DOUBLE_MATH
@@ -130,11 +129,11 @@ __printf_size (FILE *fp, const struct printf_info *info,
{
special = "nan";
wspecial = L"nan";
- // fpnum_sign = 0; Already zero
+ // is_neg = 0; Already zero
}
- else if ((res = __isinfl (fpnum.ldbl)))
+ else if (isinf (fpnum.ldbl))
{
- fpnum_sign = res;
+ is_neg = signbit (fpnum.ldbl);
special = "inf";
wspecial = L"inf";
}
@@ -155,11 +154,11 @@ __printf_size (FILE *fp, const struct printf_info *info,
{
special = "nan";
wspecial = L"nan";
- // fpnum_sign = 0; Already zero
+ // is_neg = 0; Already zero
}
- else if ((res = __isinf (fpnum.dbl.d)))
+ else if (isinf (fpnum.dbl.d))
{
- fpnum_sign = res;
+ is_neg = signbit (fpnum.dbl.d);
special = "inf";
wspecial = L"inf";
}
@@ -175,14 +174,14 @@ __printf_size (FILE *fp, const struct printf_info *info,
{
int width = info->prec > info->width ? info->prec : info->width;
- if (fpnum_sign < 0 || info->showsign || info->space)
+ if (is_neg || info->showsign || info->space)
--width;
width -= 3;
if (!info->left && width > 0)
PADN (' ', width);
- if (fpnum_sign < 0)
+ if (is_neg)
outchar ('-');
else if (info->showsign)
outchar ('+');
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 ++++++++++
math/w_tgamma.c | 2 +-
math/w_tgammaf.c | 2 +-
math/w_tgammal.c | 2 +-
stdio-common/printf_fp.c | 13 +++++--------
stdio-common/printf_fphex.c | 10 +++-------
stdio-common/printf_size.c | 19 +++++++++----------
7 files changed, 30 insertions(+), 28 deletions(-)
hooks/post-receive
--
GNU C Library master sources