diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2003-09-22 11:23:09 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2003-09-22 11:23:09 +0000 |
commit | f66b20245c6b3d75c523a0916083722833b7529c (patch) | |
tree | 4205c4e0458359e11e560dce69273158400c759c /sub1.c | |
parent | 70241a77afbb710affd14e69d12dbe90d678e533 (diff) | |
download | mpfr-f66b20245c6b3d75c523a0916083722833b7529c.tar.gz |
Added some MPFR_ASSERTN and improved a comment.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2430 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'sub1.c')
-rw-r--r-- | sub1.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -114,15 +114,18 @@ mpfr_sub1 (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mp_rnd_t rnd_mode, { bp = (mp_ptr) TMP_ALLOC(bn * BYTES_PER_MP_LIMB); MPN_COPY (bp, ap, bn); - /* ap == cp cannot occur since we would have b=c, which is detected - in mpfr_add or mpfr_sub */ + /* ap == cp cannot occur since we would have b = c, and this case + has already been processed (in mpfr_add or mpfr_sub if there is + a special value, else earlier in this function: sign == 0). */ } else if (ap == cp) { cp = (mp_ptr) TMP_ALLOC (cn * BYTES_PER_MP_LIMB); MPN_COPY(cp, ap, cn); } - + MPFR_ASSERTN (ap != cp); + MPFR_ASSERTN (bp != cp); + /* here we have shift_c = (diff_exp - cancel) % BITS_PER_MP_LIMB, thus we want cancel2 = ceil((cancel - diff_exp) / BITS_PER_MP_LIMB) */ |