From 18ea052c3e3fa91cf8a80e20c48023fd0ba5fab8 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Mon, 31 Dec 2012 16:05:13 +0530 Subject: Favour normal numbers --- ChangeLog | 5 +++++ 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 + + * sysdeps/ieee754/dbl-64/mpa.c (__mp_dbl): Favour normal + numbers. + 2012-12-30 Mike Frysinger * 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 -- cgit 1.4.1