summaryrefslogtreecommitdiff
path: root/mpf
diff options
context:
space:
mode:
Diffstat (limited to 'mpf')
-rw-r--r--mpf/mul.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/mpf/mul.c b/mpf/mul.c
index 41d1db7c1..5bde28c4b 100644
--- a/mpf/mul.c
+++ b/mpf/mul.c
@@ -38,9 +38,7 @@ mpf_mul (mpf_ptr r, mpf_srcptr u, mpf_srcptr v)
mp_size_t usize, vsize;
mp_size_t sign_product;
mp_size_t prec = r->_mp_prec;
- TMP_DECL;
- TMP_MARK;
usize = u->_mp_size;
vsize = v->_mp_size;
sign_product = usize ^ vsize;
@@ -72,7 +70,9 @@ mpf_mul (mpf_ptr r, mpf_srcptr u, mpf_srcptr v)
mp_limb_t cy_limb;
mp_ptr rp, tp;
mp_size_t adj;
+ TMP_DECL;
+ TMP_MARK;
rsize = usize + vsize;
tp = TMP_ALLOC_LIMBS (rsize);
cy_limb = (usize >= vsize
@@ -91,6 +91,7 @@ mpf_mul (mpf_ptr r, mpf_srcptr u, mpf_srcptr v)
MPN_COPY (rp, tp, rsize);
r->_mp_exp = u->_mp_exp + v->_mp_exp - adj;
r->_mp_size = sign_product >= 0 ? rsize : -rsize;
+
+ TMP_FREE;
}
- TMP_FREE;
}