diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/mpa.c | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 0a71ba7a83..482ca47b82 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-12-31 Siddhesh Poyarekar <siddhesh@redhat.com> + + * sysdeps/ieee754/dbl-64/mpa.c (__mp_dbl): Favour normal + numbers. + 2012-12-30 Mike Frysinger <vapier@gentoo.org> * math/bits/mathcalls.h (modf): Use __nonnull. diff --git a/sysdeps/ieee754/dbl-64/mpa.c b/sysdeps/ieee754/dbl-64/mpa.c index cf4f6f7c53..9ab0a48c11 100644 --- a/sysdeps/ieee754/dbl-64/mpa.c +++ b/sysdeps/ieee754/dbl-64/mpa.c @@ -1,7 +1,7 @@ /* * IBM Accurate Mathematical Library * written by International Business Machines Corp. - * Copyright (C) 2001, 2011 Free Software Foundation + * Copyright (C) 2001-2012 Free Software Foundation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -247,9 +247,10 @@ void __mp_dbl(const mp_no *x, double *y, int p) { if (X[0] == ZERO) {*y = ZERO; return; } - if (EX> -42) norm(x,y,p); - else if (EX==-42 && X[1]>=TWO10) norm(x,y,p); - else denorm(x,y,p); + if (__glibc_likely (EX > -42 || (EX == -42 && X[1] >= TWO10))) + norm(x,y,p); + else + denorm(x,y,p); } #endif |