summaryrefslogtreecommitdiff
path: root/mpf/add.c
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2001-05-11 02:02:15 +0200
committerKevin Ryde <user42@zip.com.au>2001-05-11 02:02:15 +0200
commit9afe2e10add092858f1488dabf6b5c14dc48cca1 (patch)
tree696ef0d5253421f17a4bcc743cdec65b75897f09 /mpf/add.c
parent36e0fb962535c424cb2ef40ae6d0a7c21622bb3d (diff)
downloadgmp-9afe2e10add092858f1488dabf6b5c14dc48cca1.tar.gz
* mpf/sub.c: Test r!=u before calling mpf_set.
* mpf/add.c: Ditto, and share mpf_set between usize==0 and vsize==0.
Diffstat (limited to 'mpf/add.c')
-rw-r--r--mpf/add.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/mpf/add.c b/mpf/add.c
index fe7049178..b0d88aad5 100644
--- a/mpf/add.c
+++ b/mpf/add.c
@@ -41,13 +41,15 @@ mpf_add (mpf_ptr r, mpf_srcptr u, mpf_srcptr v)
/* Handle special cases that don't work in generic code below. */
if (usize == 0)
{
- mpf_set (r, v);
+ set_r_v_maybe:
+ if (r != v)
+ mpf_set (r, v);
return;
}
if (vsize == 0)
{
- mpf_set (r, u);
- return;
+ v = u;
+ goto set_r_v_maybe;
}
/* If signs of U and V are different, perform subtraction. */