diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2005-08-18 16:35:19 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2005-08-18 16:35:19 +0000 |
commit | bab5aab404897a12fe1c87734ebf2aa270b9b73b (patch) | |
tree | 73ab96f558e7e0b4ef371902ead983189184a0f7 /add.c | |
parent | 8328a51518450ad8ddb86e38e7952e28065ff22a (diff) | |
download | mpfr-bab5aab404897a12fe1c87734ebf2aa270b9b73b.tar.gz |
Converted tabs to spaces with expand.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3725 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'add.c')
-rw-r--r-- | add.c | 96 |
1 files changed, 48 insertions, 48 deletions
@@ -28,50 +28,50 @@ mpfr_add (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mp_rnd_t rnd_mode) if (MPFR_ARE_SINGULAR(b,c)) { if (MPFR_IS_NAN(b) || MPFR_IS_NAN(c)) - { - MPFR_SET_NAN(a); - MPFR_RET_NAN; - } + { + MPFR_SET_NAN(a); + MPFR_RET_NAN; + } /* neither b nor c is NaN here */ else if (MPFR_IS_INF(b)) - { - if (!MPFR_IS_INF(c) || MPFR_SIGN(b) == MPFR_SIGN(c)) - { - MPFR_SET_INF(a); - MPFR_SET_SAME_SIGN(a, b); - MPFR_RET(0); /* exact */ - } - else - { - MPFR_SET_NAN(a); - MPFR_RET_NAN; - } - } + { + if (!MPFR_IS_INF(c) || MPFR_SIGN(b) == MPFR_SIGN(c)) + { + MPFR_SET_INF(a); + MPFR_SET_SAME_SIGN(a, b); + MPFR_RET(0); /* exact */ + } + else + { + MPFR_SET_NAN(a); + MPFR_RET_NAN; + } + } else if (MPFR_IS_INF(c)) - { - MPFR_SET_INF(a); - MPFR_SET_SAME_SIGN(a, c); - MPFR_RET(0); /* exact */ - } + { + MPFR_SET_INF(a); + MPFR_SET_SAME_SIGN(a, c); + MPFR_RET(0); /* exact */ + } /* now either b or c is zero */ else if (MPFR_IS_ZERO(b)) - { - if (MPFR_IS_ZERO(c)) - { - MPFR_SET_SIGN(a, - (rnd_mode != GMP_RNDD ? - ((MPFR_IS_NEG(b) && MPFR_IS_NEG(c)) ? -1 : 1) : - ((MPFR_IS_POS(b) && MPFR_IS_POS(c)) ? 1 : -1))); - MPFR_SET_ZERO(a); - MPFR_RET(0); /* 0 + 0 is exact */ - } - return mpfr_set (a, c, rnd_mode); - } + { + if (MPFR_IS_ZERO(c)) + { + MPFR_SET_SIGN(a, + (rnd_mode != GMP_RNDD ? + ((MPFR_IS_NEG(b) && MPFR_IS_NEG(c)) ? -1 : 1) : + ((MPFR_IS_POS(b) && MPFR_IS_POS(c)) ? 1 : -1))); + MPFR_SET_ZERO(a); + MPFR_RET(0); /* 0 + 0 is exact */ + } + return mpfr_set (a, c, rnd_mode); + } else - { + { MPFR_ASSERTD(MPFR_IS_ZERO(c)); - return mpfr_set (a, b, rnd_mode); - } + return mpfr_set (a, b, rnd_mode); + } } MPFR_ASSERTD(MPFR_IS_PURE_FP(b) && MPFR_IS_PURE_FP(c)); @@ -80,23 +80,23 @@ mpfr_add (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mp_rnd_t rnd_mode) if (MPFR_UNLIKELY(MPFR_SIGN(b) != MPFR_SIGN(c))) { /* signs differ, it's a subtraction */ if (MPFR_LIKELY(MPFR_PREC(a) == MPFR_PREC(b) - && MPFR_PREC(b) == MPFR_PREC(c))) - return mpfr_sub1sp(a,b,c,rnd_mode); + && MPFR_PREC(b) == MPFR_PREC(c))) + return mpfr_sub1sp(a,b,c,rnd_mode); else - return mpfr_sub1(a, b, c, rnd_mode); + return mpfr_sub1(a, b, c, rnd_mode); } else { /* signs are equal, it's an addition */ if (MPFR_LIKELY(MPFR_PREC(a) == MPFR_PREC(b) && MPFR_PREC(b) == MPFR_PREC(c))) - if (MPFR_GET_EXP(b) < MPFR_GET_EXP(c)) - return mpfr_add1sp(a, c, b, rnd_mode); - else - return mpfr_add1sp(a, b, c, rnd_mode); + if (MPFR_GET_EXP(b) < MPFR_GET_EXP(c)) + return mpfr_add1sp(a, c, b, rnd_mode); + else + return mpfr_add1sp(a, b, c, rnd_mode); else - if (MPFR_GET_EXP(b) < MPFR_GET_EXP(c)) - return mpfr_add1(a, c, b, rnd_mode); - else - return mpfr_add1(a, b, c, rnd_mode); + if (MPFR_GET_EXP(b) < MPFR_GET_EXP(c)) + return mpfr_add1(a, c, b, rnd_mode); + else + return mpfr_add1(a, b, c, rnd_mode); } } |