From d6987458f21cf1890045f2606d0f8ec4d2225b44 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 3 Mar 2016 23:02:59 +0100 Subject: Cleanup and fix bug in ztrunc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/zsub.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'src/zsub.c') diff --git a/src/zsub.c b/src/zsub.c index 437e329..d1c54f6 100644 --- a/src/zsub.c +++ b/src/zsub.c @@ -1,9 +1,6 @@ /* See LICENSE file for copyright and license details. */ #include "internals" -#include -#include - void zsub_unsigned(z_t a, z_t b, z_t c) @@ -18,16 +15,14 @@ zsub_unsigned(z_t a, z_t b, z_t c) SET_SIGNUM(a, 0); return; } - if (a != c) - zset(a, c); - *subtrahend = *b; + SET(a, c); + *s = *b; } else { - if (a != b) - zset(a, b); - *subtrahend = *c; + SET(a, b); + *s = *c; } - n = a->used < s->used ? a->used : s->used; + n = MIN(a->used, s->used); for (i = 0; i < n; i++) { carry[~i & 1] = carry[i & 1] ? (a->chars[i] <= s->chars[i]) : (a->chars[i] < s->chars[i]); @@ -51,8 +46,7 @@ zsub(z_t a, z_t b, z_t c) } else if (zzero(b)) { zneg(a, c); } else if (zzero(c)) { - if (a != b) - zset(a, b); + SET(a, b); } else if ((zsignum(b) | zsignum(c)) < 0) { if (zsignum(b) < 0) { if (zsignum(c) < 0) { -- cgit v1.2.3-70-g09d2