aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-04-08 16:22:14 +0200
committerMattias Andrée <maandree@kth.se>2016-04-08 16:22:14 +0200
commit22dc2cc19a3c1e127bc75565980dc7f172dcff52 (patch)
tree7e93ae92df2c41df713de12cb3b8d51445613bb1 /src
parentSome improvements: (diff)
downloadlibzahl-22dc2cc19a3c1e127bc75565980dc7f172dcff52.tar.gz
libzahl-22dc2cc19a3c1e127bc75565980dc7f172dcff52.tar.bz2
libzahl-22dc2cc19a3c1e127bc75565980dc7f172dcff52.tar.xz
Fix warnings (that were not turned on by default)
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'src')
-rw-r--r--src/internals.h3
-rw-r--r--src/zadd.c2
-rw-r--r--src/zbset.c6
-rw-r--r--src/zpow.c3
-rw-r--r--src/zpowu.c3
-rw-r--r--src/zrand.c8
-rw-r--r--src/zsqr.c4
-rw-r--r--src/zstr.c22
8 files changed, 23 insertions, 28 deletions
diff --git a/src/internals.h b/src/internals.h
index 21404bd..bfe2e6f 100644
--- a/src/internals.h
+++ b/src/internals.h
@@ -16,6 +16,7 @@
#define FLOOR_BITS_TO_CHARS(bits) ZAHL_FLOOR_BITS_TO_CHARS(bits)
#define CEILING_BITS_TO_CHARS(bits) ZAHL_CEILING_BITS_TO_CHARS(bits)
#define BITS_IN_LAST_CHAR(bits) ZAHL_BITS_IN_LAST_CHAR(bits)
+#define TRUNCATE_TO_CHAR(bits) ZAHL_TRUNCATE_TO_CHAR(bits)
#if defined(__GNUC__)
# define O0 __attribute__((optimize("O0")))
@@ -113,6 +114,8 @@ extern size_t libzahl_pool_alloc[sizeof(size_t) * 8];
#define zmemmove(d, s, n) memmove((d), (s), (n) * sizeof(zahl_char_t))
void libzahl_realloc(z_t a, size_t need);
+void zmul_impl(z_t a, z_t b, z_t c);
+void zsqr_impl(z_t a, z_t b);
static inline void
zmemcpy(zahl_char_t *restrict d, const zahl_char_t *restrict s, register size_t n)
diff --git a/src/zadd.c b/src/zadd.c
index b730b81..934d63e 100644
--- a/src/zadd.c
+++ b/src/zadd.c
@@ -10,7 +10,7 @@ zadd_impl(z_t a, z_t b, size_t n)
for (i = 0; i < n; i++) {
tcarry = libzahl_add_overflow(a->chars + i, a->chars[i], b->chars[i]);
- carry = tcarry | libzahl_add_overflow(a->chars + i, a->chars[i], carry);
+ carry = tcarry | (zahl_char_t)libzahl_add_overflow(a->chars + i, a->chars[i], carry);
}
while (carry) {
carry = libzahl_add_overflow(a->chars + i, a->chars[i], 1);
diff --git a/src/zbset.c b/src/zbset.c
index cc7b2b0..3d93fd4 100644
--- a/src/zbset.c
+++ b/src/zbset.c
@@ -23,14 +23,14 @@
void
-zbset_impl_set(z_t a, z_t b, size_t bit)
+zbset_impl_set(z_t a, size_t bit)
{
PROLOGUE(1);
a->chars[chars] |= mask;
}
void
-zbset_impl_clear(z_t a, z_t b, size_t bit)
+zbset_impl_clear(z_t a, size_t bit)
{
PROLOGUE(0);
a->chars[chars] &= ~mask;
@@ -38,7 +38,7 @@ zbset_impl_clear(z_t a, z_t b, size_t bit)
}
void
-zbset_impl_flip(z_t a, z_t b, size_t bit)
+zbset_impl_flip(z_t a, size_t bit)
{
PROLOGUE(1);
a->chars[chars] ^= mask;
diff --git a/src/zpow.c b/src/zpow.c
index 84f4927..f0cbcd9 100644
--- a/src/zpow.c
+++ b/src/zpow.c
@@ -5,9 +5,6 @@
#define tc libzahl_tmp_pow_c
-extern void zmul_impl(z_t a, z_t b, z_t c);
-extern void zsqr_impl(z_t a, z_t b);
-
void
zpow(z_t a, z_t b, z_t c)
{
diff --git a/src/zpowu.c b/src/zpowu.c
index cf879e0..9618010 100644
--- a/src/zpowu.c
+++ b/src/zpowu.c
@@ -4,9 +4,6 @@
#define tb libzahl_tmp_pow_b
-extern void zmul_impl(z_t a, z_t b, z_t c);
-extern void zsqr_impl(z_t a, z_t b);
-
void
zpowu(z_t a, z_t b, unsigned long long int c)
{
diff --git a/src/zrand.c b/src/zrand.c
index 3d70452..f1913e1 100644
--- a/src/zrand.c
+++ b/src/zrand.c
@@ -26,11 +26,11 @@ zrand_libc_rand(void *out, size_t n, void *statep)
if (!inited) {
inited = 1;
- srand((intptr_t)out | time(NULL));
+ srand((unsigned)((intptr_t)out | time(NULL)));
}
while (n--) {
- ri = rand();
+ ri = (unsigned)rand();
rd = (double)ri / ((double)RAND_MAX + 1);
#ifdef GOOD_RAND
rd *= 256 * 256;
@@ -63,7 +63,7 @@ zrand_libc_rand48(void *out, size_t n, void *statep)
while (n--) {
r0 = lrand48() & 15;
r1 = lrand48() & 15;
- buf[n] = (r0 << 4) | r1;
+ buf[n] = (unsigned char)((r0 << 4) | r1);
}
(void) statep;
@@ -79,7 +79,7 @@ zrand_libc_random(void *out, size_t n, void *statep)
if (!inited) {
inited = 1;
- srandom((intptr_t)out | time(NULL));
+ srandom((unsigned)((intptr_t)out | time(NULL)));
}
while (n--) {
diff --git a/src/zsqr.c b/src/zsqr.c
index c686348..0b0ff67 100644
--- a/src/zsqr.c
+++ b/src/zsqr.c
@@ -11,8 +11,6 @@ zsqr_impl_single_char(z_t a, z_t b)
SET_SIGNUM(a, 1);
}
-extern void zmul_impl(z_t a, z_t b, z_t c);
-
void
zsqr_impl(z_t a, z_t b)
{
@@ -43,7 +41,7 @@ zsqr_impl(z_t a, z_t b)
high->chars = auxchars + 1;
zsplit_unsigned_fast_small_auto(high, low, b, bits);
} else {
- bits &= ~(BITS_PER_CHAR - 1);
+ bits = TRUNCATE_TO_CHAR(bits);
zsplit_unsigned_fast_large_taint(high, low, b, bits);
}
diff --git a/src/zstr.c b/src/zstr.c
index f919dc8..cd237df 100644
--- a/src/zstr.c
+++ b/src/zstr.c
@@ -22,16 +22,16 @@ sprintint_fix(char *buf, zahl_char_t v)
const char *partials = S2("");
uint16_t *buffer = (uint16_t *)(buf + 1);
- buffer[8] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[7] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[6] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[5] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[4] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[3] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[2] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[1] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- buffer[0] = *(uint16_t *)(partials + 2 * (v % 100)), v /= 100;
- *buf = '0' + v;
+ buffer[8] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[7] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[6] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[5] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[4] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[3] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[2] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[1] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ buffer[0] = *(const uint16_t *)(partials + 2 * (v % 100)), v /= 100;
+ *buf = (char)('0' + v);
buf[19] = 0;
}
@@ -50,7 +50,7 @@ sprintint_min(char *buf, zahl_char_t v)
for (; buf[i] == '0'; i++);
cmemmove(buf, buf + i, j = 19 - i);
buf[j] = 0;
- return j;
+ return (size_t)j;
}