summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Dachary <loic@dachary.org>2014-03-06 01:04:12 +0100
committerLoic Dachary <loic@dachary.org>2014-03-28 17:12:40 +0100
commit458baa81600e9c33b23ed072031cc59fca1feeb6 (patch)
tree70b3f0f913738239fcf16518afec8edaace9f2a6
parenta6fe4dc34dc4383d5f195f69c09a83f625f42881 (diff)
downloadgf-complete-458baa81600e9c33b23ed072031cc59fca1feeb6.tar.gz
cast void* to char* for pointer arithmetic
Signed-off-by: Loic Dachary <loic@dachary.org> (cherry picked from commit d36bd6e54090c2a2d8971349f6998d499beeb133)
-rw-r--r--src/gf.c22
-rw-r--r--src/gf_general.c6
-rw-r--r--src/gf_w128.c12
-rw-r--r--src/gf_w8.c10
-rw-r--r--src/gf_wgen.c4
-rw-r--r--tools/gf_time.c13
6 files changed, 34 insertions, 33 deletions
diff --git a/src/gf.c b/src/gf.c
index 2f33af5..c14f03e 100644
--- a/src/gf.c
+++ b/src/gf.c
@@ -482,7 +482,7 @@ int gf_init_hard(gf_t *gf, int w, int mult_type,
h->arg2 = arg2;
h->base_gf = base_gf;
h->private = (void *) gf->scratch;
- h->private += (sizeof(gf_internal_t));
+ h->private = (char*)h->private + (sizeof(gf_internal_t));
gf->extract_word.w32 = NULL;
switch(w) {
@@ -687,8 +687,8 @@ static void gf_slow_multiply_region(gf_region_data *rd, void *src, void *dest, v
fprintf(stderr, "Error: gf_slow_multiply_region: w=%d not implemented.\n", h->w);
exit(1);
}
- src += wb;
- dest += wb;
+ src = (char*)src + wb;
+ dest = (char*)dest + wb;
}
}
@@ -803,8 +803,8 @@ void gf_set_region_data(gf_region_data *rd,
rd->s_start = src;
rd->d_start = dest;
- rd->s_top = src + bytes;
- rd->d_top = src + bytes;
+ rd->s_top = (char*)src + bytes;
+ rd->d_top = (char*)src + bytes;
return;
}
@@ -833,12 +833,12 @@ void gf_set_region_data(gf_region_data *rd,
uls %= a;
if (uls != 0) uls = (a-uls);
- rd->s_start = rd->src + uls;
- rd->d_start = rd->dest + uls;
+ rd->s_start = (char*)rd->src + uls;
+ rd->d_start = (char*)rd->dest + uls;
bytes -= uls;
bytes -= (bytes % align);
- rd->s_top = rd->s_start + bytes;
- rd->d_top = rd->d_start + bytes;
+ rd->s_top = (char*)rd->s_start + bytes;
+ rd->d_top = (char*)rd->d_start + bytes;
}
@@ -849,7 +849,7 @@ void gf_do_initial_region_alignment(gf_region_data *rd)
void gf_do_final_region_alignment(gf_region_data *rd)
{
- gf_slow_multiply_region(rd, rd->s_top, rd->d_top, rd->src+rd->bytes);
+ gf_slow_multiply_region(rd, rd->s_top, rd->d_top, (char*)rd->src+rd->bytes);
}
void gf_multby_zero(void *dest, int bytes, int xor)
@@ -1018,7 +1018,7 @@ static void gf_unaligned_xor(void *src, void *dest, int bytes)
}
d8 = (uint8_t *) d64;
- while (d8 < (uint8_t *) (dest+bytes)) {
+ while (d8 < (uint8_t *) ((char*)dest+bytes)) {
*d8 ^= *s8;
d8++;
s8++;
diff --git a/src/gf_general.c b/src/gf_general.c
index 7da8883..c410598 100644
--- a/src/gf_general.c
+++ b/src/gf_general.c
@@ -326,7 +326,7 @@ void gf_general_set_up_single_timing_test(int w, void *ra, void *rb, int size)
uint64_t *r64;
int i;
- top = rb+size;
+ top = (char*)rb+size;
/* If w is 8, 16, 32, 64 or 128, fill the regions with random bytes.
However, don't allow for zeros in rb, because that will screw up
@@ -365,7 +365,7 @@ void gf_general_set_up_single_timing_test(int w, void *ra, void *rb, int size)
r64[1] = g.w128[1];
break;
}
- rb += (w/8);
+ rb = (char*)rb + (w/8);
}
} else if (w == 4) {
r8a = (uint8_t *) ra;
@@ -407,7 +407,7 @@ int gf_general_do_single_timing_test(gf_t *gf, void *ra, void *rb, int size, cha
h = (gf_internal_t *) gf->scratch;
w = h->w;
- top = ra + size;
+ top = (char*)ra + size;
if (w == 8 || w == 4) {
r8a = (uint8_t *) ra;
diff --git a/src/gf_w128.c b/src/gf_w128.c
index 363fce6..c4a7114 100644
--- a/src/gf_w128.c
+++ b/src/gf_w128.c
@@ -624,7 +624,7 @@ gf_w128_split_4_128_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_
/* Doing this instead of gf_do_initial_region_alignment() because that doesn't hold 128-bit vals */
- gf_w128_multiply_region_from_single(gf, src, dest, val, (rd.s_start-src), xor);
+ gf_w128_multiply_region_from_single(gf, src, dest, val, ((char*)rd.s_start-(char*)src), xor);
s64 = (uint64_t *) rd.s_start;
d64 = (uint64_t *) rd.d_start;
@@ -694,7 +694,7 @@ gf_w128_split_4_128_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_
/* Doing this instead of gf_do_final_region_alignment() because that doesn't hold 128-bit vals */
- gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, (src+bytes)-rd.s_top, xor);
+ gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, ((char*)src+bytes)-(char*)rd.s_top, xor);
#endif
}
@@ -724,7 +724,7 @@ gf_w128_split_4_128_sse_altmap_multiply_region(gf_t *gf, void *src, void *dest,
/* Doing this instead of gf_do_initial_region_alignment() because that doesn't hold 128-bit vals */
- gf_w128_multiply_region_from_single(gf, src, dest, val, (rd.s_start-src), xor);
+ gf_w128_multiply_region_from_single(gf, src, dest, val, ((char*)rd.s_start-(char*)src), xor);
s64 = (uint64_t *) rd.s_start;
d64 = (uint64_t *) rd.d_start;
@@ -804,7 +804,7 @@ gf_w128_split_4_128_sse_altmap_multiply_region(gf_t *gf, void *src, void *dest,
}
/* Doing this instead of gf_do_final_region_alignment() because that doesn't hold 128-bit vals */
- gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, (src+bytes)-rd.s_top, xor);
+ gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, ((char*)src+bytes)-(char*)rd.s_top, xor);
#endif
}
@@ -1385,7 +1385,7 @@ gf_w128_composite_multiply_region_alt(gf_t *gf, void *src, void *dest, gf_val_12
gf_region_data rd;
gf_set_region_data(&rd, gf, src, dest, bytes, 0, xor, 64);
- gf_w128_multiply_region_from_single(gf, src, dest, val, (rd.s_start-src), xor);
+ gf_w128_multiply_region_from_single(gf, src, dest, val, ((char*)rd.s_start-(char*)src), xor);
slow = (uint8_t *) rd.s_start;
dlow = (uint8_t *) rd.d_start;
@@ -1401,7 +1401,7 @@ gf_w128_composite_multiply_region_alt(gf_t *gf, void *src, void *dest, gf_val_12
base_gf->multiply_region.w64(base_gf, shigh, dhigh, base_gf->multiply.w64(base_gf, h->prim_poly, val1
), sub_reg_size, 1);
- gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, (src+bytes)-rd.s_top, xor);
+ gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, ((char*)src+bytes)-(char*)rd.s_top, xor);
}
diff --git a/src/gf_w8.c b/src/gf_w8.c
index d2c0c1f..f47c40c 100644
--- a/src/gf_w8.c
+++ b/src/gf_w8.c
@@ -1321,13 +1321,13 @@ gf_w8_composite_multiply_region_alt(gf_t *gf, void *src, void *dest, gf_val_32_t
gf_set_region_data(&rd, gf, src, dest, bytes, val, xor, 32);
gf_do_initial_region_alignment(&rd);
- sub_reg_size = (rd.d_top - rd.d_start) / 2;
+ sub_reg_size = ((char*)rd.d_top - (char*)rd.d_start) / 2;
base_gf->multiply_region.w32(base_gf, rd.s_start, rd.d_start, val0, sub_reg_size, xor);
- base_gf->multiply_region.w32(base_gf, rd.s_start+sub_reg_size, rd.d_start, val1, sub_reg_size, 1);
- base_gf->multiply_region.w32(base_gf, rd.s_start, rd.d_start+sub_reg_size, val1, sub_reg_size, xor);
- base_gf->multiply_region.w32(base_gf, rd.s_start+sub_reg_size, rd.d_start+sub_reg_size, val0, sub_reg_size, 1);
- base_gf->multiply_region.w32(base_gf, rd.s_start+sub_reg_size, rd.d_start+sub_reg_size, base_gf->multiply.w32(base_gf, h->prim_poly, val1), sub_reg_size, 1);
+ base_gf->multiply_region.w32(base_gf, (char*)rd.s_start+sub_reg_size, rd.d_start, val1, sub_reg_size, 1);
+ base_gf->multiply_region.w32(base_gf, rd.s_start, (char*)rd.d_start+sub_reg_size, val1, sub_reg_size, xor);
+ base_gf->multiply_region.w32(base_gf, (char*)rd.s_start+sub_reg_size, (char*)rd.d_start+sub_reg_size, val0, sub_reg_size, 1);
+ base_gf->multiply_region.w32(base_gf, (char*)rd.s_start+sub_reg_size, (char*)rd.d_start+sub_reg_size, base_gf->multiply.w32(base_gf, h->prim_poly, val1), sub_reg_size, 1);
gf_do_final_region_alignment(&rd);
}
diff --git a/src/gf_wgen.c b/src/gf_wgen.c
index 8d65e0c..68c6bb0 100644
--- a/src/gf_wgen.c
+++ b/src/gf_wgen.c
@@ -916,11 +916,11 @@ gf_wgen_cauchy_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int byte
for (i = 0; i < h->w; i++) {
for (j = 0; j < h->w; j++) {
if (val & (1 << j)) {
- gf_multby_one(src, dest + j*rs, rs, (written & (1 << j)));
+ gf_multby_one(src, ((char*)dest) + j*rs, rs, (written & (1 << j)));
written |= (1 << j);
}
}
- src += rs;
+ src = (char*)src + rs;
val = gf->multiply.w32(gf, val, 2);
}
}
diff --git a/tools/gf_time.c b/tools/gf_time.c
index 2bd2d04..901dbcf 100644
--- a/tools/gf_time.c
+++ b/tools/gf_time.c
@@ -163,8 +163,8 @@ int main(int argc, char **argv)
for (i = 0; i < 3; i++) {
test = single_tests[i];
if (strchr(tests, test) != NULL) {
- if (tmethods[test] == NULL) {
- printf("No %s method.\n", tstrings[test]);
+ if (tmethods[(int)test] == NULL) {
+ printf("No %s method.\n", tstrings[(int)test]);
} else {
elapsed = 0;
dnum = 0;
@@ -176,7 +176,7 @@ int main(int argc, char **argv)
elapsed += timer_split(&timer);
}
printf("%14s: %10.6lf s Mops: %10.3lf %10.3lf Mega-ops/s\n",
- tstrings[test], elapsed,
+ tstrings[(int)test], elapsed,
dnum/1024.0/1024.0, dnum/1024.0/1024.0/elapsed);
}
}
@@ -185,8 +185,8 @@ int main(int argc, char **argv)
for (i = 0; i < 4; i++) {
test = region_tests[i];
if (strchr(tests, test) != NULL) {
- if (tmethods[test] == NULL) {
- printf("No %s method.\n", tstrings[test]);
+ if (tmethods[(int)test] == NULL) {
+ printf("No %s method.\n", tstrings[(int)test]);
} else {
elapsed = 0;
@@ -204,10 +204,11 @@ int main(int argc, char **argv)
elapsed += timer_split(&timer);
}
printf("%14s: XOR: %d %10.6lf s MB: %10.3lf %10.3lf MB/s\n",
- tstrings[test], xor, elapsed,
+ tstrings[(int)test], xor, elapsed,
ds*di/1024.0/1024.0, ds*di/1024.0/1024.0/elapsed);
}
}
}
}
+ return 0;
}