summaryrefslogtreecommitdiff
path: root/mpf/sub.c
diff options
context:
space:
mode:
authortege <tege@gmplib.org>1999-02-22 22:29:24 +0100
committertege <tege@gmplib.org>1999-02-22 22:29:24 +0100
commita8475fdf4ad51ec24f04d93fd1fef38a5a011d89 (patch)
tree5366737b944b63588c1ed74901bb9791e54be0dd /mpf/sub.c
parent3aa0d7d19496d3c2faf65b189b4458462e45e263 (diff)
downloadgmp-a8475fdf4ad51ec24f04d93fd1fef38a5a011d89.tar.gz
In initial code for ediff == 0, limit precision before jumping to `normalize'.
Diffstat (limited to 'mpf/sub.c')
-rw-r--r--mpf/sub.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/mpf/sub.c b/mpf/sub.c
index b87198263..165ce2369 100644
--- a/mpf/sub.c
+++ b/mpf/sub.c
@@ -110,6 +110,11 @@ mpf_sub (r, u, v)
if (usize == 0)
{
+ if (vsize > prec)
+ {
+ vp += vsize - prec;
+ vsize = prec;
+ }
rsize = vsize;
tp = (mp_ptr) vp;
negate ^= 1;
@@ -117,6 +122,11 @@ mpf_sub (r, u, v)
}
if (vsize == 0)
{
+ if (usize > prec)
+ {
+ up += usize - prec;
+ usize = prec;
+ }
rsize = usize;
tp = (mp_ptr) up;
goto normalize;