summaryrefslogtreecommitdiff
path: root/sub1.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2003-09-22 11:23:09 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2003-09-22 11:23:09 +0000
commitf66b20245c6b3d75c523a0916083722833b7529c (patch)
tree4205c4e0458359e11e560dce69273158400c759c /sub1.c
parent70241a77afbb710affd14e69d12dbe90d678e533 (diff)
downloadmpfr-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.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sub1.c b/sub1.c
index 6fd6b5d86..6c12e3877 100644
--- a/sub1.c
+++ b/sub1.c
@@ -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) */