diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2001-04-05 18:29:03 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2001-04-05 18:29:03 +0000 |
commit | dda89f8c232c52bcca9be31a5a9ef59218cc7736 (patch) | |
tree | c9a83d4160bfc9d1d8ebb464d2fb29bf12df2c1e /cmp2.c | |
parent | c968861d7ba024ee2e4d45429ae376180d98311a (diff) | |
download | mpfr-dda89f8c232c52bcca9be31a5a9ef59218cc7736.tar.gz |
check apart the case c=0 (otherwise some low significant limbs may be
non zero, which may produce a wrong result)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1070 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'cmp2.c')
-rw-r--r-- | cmp2.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -30,6 +30,8 @@ MA 02111-1307, USA. */ Assumes b>=c, which implies MPFR_EXP(b)>=MPFR_EXP(c). if b=c, returns prec(b). + Assumes neither of b or c is NaN or +/- infinity. + In other terms mpfr_cmp2 (b, c) returns EXP(b) - EXP(b-c). */ unsigned long @@ -39,6 +41,8 @@ mpfr_cmp2 (mpfr_srcptr b, mpfr_srcptr c) long bn, cn, z; unsigned long diff_exp, res = 0; + if (MPFR_IS_ZERO(c)) return 0; + bp = MPFR_MANT(b); cp = MPFR_MANT(c); |