summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;