summaryrefslogtreecommitdiff
path: root/cmp.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-05-02 16:37:52 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-05-02 16:37:52 +0000
commit934a3b8e023ac436b94952541d444680b62c3154 (patch)
treec56392c1a3e439a96aa1fda12e8990bc80967c3e /cmp.c
parentc1bcaeef45e94c218e1212f1c9392c0c60f04024 (diff)
downloadmpfr-934a3b8e023ac436b94952541d444680b62c3154.tar.gz
fixed bug found by G. Ballabio for b=0 and 0<c<1
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@495 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'cmp.c')
-rw-r--r--cmp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/cmp.c b/cmp.c
index e4141671c..2a471b28e 100644
--- a/cmp.c
+++ b/cmp.c
@@ -53,7 +53,11 @@ mpfr_cmp3(b, c, s)
unsigned long bn, cn;
mp_limb_t *bp, *cp;
- if (!NOTZERO(b) && !NOTZERO(c)) { return 0; }
+ if (!NOTZERO(b)) {
+ if (!NOTZERO(c)) return 0; else return -(MPFR_SIGN(c));
+ }
+ else if (!NOTZERO(c)) return MPFR_SIGN(b);
+
s = s * MPFR_SIGN(b) * MPFR_SIGN(c);
if (s<0) return(MPFR_SIGN(b));