From d6f4393542998276250bd3f3519bb824ca4b3d91 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 7 May 2016 17:22:42 +0200 Subject: Some small improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/internals.h | 16 +++++++++++----- src/zload.c | 7 ++++--- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/internals.h b/src/internals.h index 2f42269..25389c3 100644 --- a/src/internals.h +++ b/src/internals.h @@ -26,7 +26,7 @@ #define Os ZAHL_Os #define Oz ZAHL_Oz -#define LIST_TEMPS\ +#define LIST_TEMPS_HERE\ X(libzahl_tmp_str_num, 0)\ X(libzahl_tmp_str_mag, 0)\ X(libzahl_tmp_str_div, 0)\ @@ -35,8 +35,6 @@ X(libzahl_tmp_gcd_v, 0)\ X(libzahl_tmp_sub, 0)\ X(libzahl_tmp_modmul, 0)\ - X(libzahl_tmp_div, 0)\ - X(libzahl_tmp_mod, 0)\ X(libzahl_tmp_pow_b, 0)\ X(libzahl_tmp_pow_c, 0)\ X(libzahl_tmp_pow_d, 0)\ @@ -50,6 +48,11 @@ X(libzahl_tmp_ptest_n1, 0)\ X(libzahl_tmp_ptest_n4, 0) +#define LIST_TEMPS\ + X(libzahl_tmp_div, 0)\ + X(libzahl_tmp_mod, 0)\ + LIST_TEMPS_HERE + #define LIST_CONSTS\ X(0, libzahl_const_1e19, zsetu, 10000000000000000000ULL) /* The largest power of 10 < 2⁶⁴. */\ X(1, libzahl_const_1, zsetu, 1)\ @@ -57,7 +60,7 @@ X(3, libzahl_const_4, zsetu, 4) #define X(x, s) extern z_t x; -LIST_TEMPS +LIST_TEMPS_HERE #undef X #define X(i, x, f, v) extern z_t x; LIST_CONSTS @@ -119,7 +122,10 @@ zzero1(z_t a, z_t b) static inline void zmemcpy_range(register zahl_char_t *restrict d, register const zahl_char_t *restrict s, size_t i, size_t n) { - zmemcpy(d + i, s + i, n - i); + d += i; + s += i; + n -= i; + zmemcpy(d, s, n); } static void diff --git a/src/zload.c b/src/zload.c index f788a45..2048332 100644 --- a/src/zload.c +++ b/src/zload.c @@ -6,11 +6,12 @@ size_t zload(z_t a, const void *buffer) { const char *buf = buffer; - a->sign = *((const long *)buf), buf += sizeof(long); - a->used = *((const size_t *)buf), buf += sizeof(size_t); + a->sign = (int)*((const long *)buf), buf += sizeof(long); + a->used = *((const size_t *)buf), buf += sizeof(size_t); if (likely(a->sign)) { ENSURE_SIZE(a, a->used); zmemcpy(a->chars, (const zahl_char_t *)buf, a->used); } - return sizeof(long) + sizeof(size_t) + (zzero(a) ? 0 : ((a->used + 3) & ~3) * sizeof(zahl_char_t)); + return sizeof(long) + sizeof(size_t) + + (zzero(a) ? 0 : ((a->used + 3) & (size_t)~3) * sizeof(zahl_char_t)); } -- cgit v1.2.3-70-g09d2