diff options
author | Loic Dachary <loic@dachary.org> | 2014-03-06 01:04:12 +0100 |
---|---|---|
committer | Loic Dachary <loic@dachary.org> | 2014-03-28 17:12:40 +0100 |
commit | 458baa81600e9c33b23ed072031cc59fca1feeb6 (patch) | |
tree | 70b3f0f913738239fcf16518afec8edaace9f2a6 | |
parent | a6fe4dc34dc4383d5f195f69c09a83f625f42881 (diff) | |
download | gf-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.c | 22 | ||||
-rw-r--r-- | src/gf_general.c | 6 | ||||
-rw-r--r-- | src/gf_w128.c | 12 | ||||
-rw-r--r-- | src/gf_w8.c | 10 | ||||
-rw-r--r-- | src/gf_wgen.c | 4 | ||||
-rw-r--r-- | tools/gf_time.c | 13 |
6 files changed, 34 insertions, 33 deletions
@@ -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; } |