summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Lambert <eric_lambert@xyratex.com>2014-06-11 14:38:37 -0700
committerEric Lambert <eric_lambert@xyratex.com>2014-06-11 14:38:37 -0700
commita559c355992bd8ed57064ee3bd3431cf3d1623e7 (patch)
tree3fcad0b79a198db9d95ea0797f793f67eafcfb67
parent0f7f2b3dcf4f3ceb4ad9acebfbd4baf61836b6d1 (diff)
downloadpyeclib-a559c355992bd8ed57064ee3bd3431cf3d1623e7.tar.gz
issue-50: bitmap value should be unsigned ints
-rw-r--r--c_eclib-0.9/include/xor_code.h8
-rw-r--r--c_eclib-0.9/xor_codes/xor_code.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/c_eclib-0.9/include/xor_code.h b/c_eclib-0.9/include/xor_code.h
index b708d7c..248a82f 100644
--- a/c_eclib-0.9/include/xor_code.h
+++ b/c_eclib-0.9/include/xor_code.h
@@ -54,16 +54,16 @@ typedef struct xor_code_s
int k;
int m;
int hd;
- int *parity_bms;
- int *data_bms;
+ unsigned int *parity_bms;
+ unsigned int *data_bms;
void (*decode)(struct xor_code_s *code_desc, char **data, char **parity, int *missing_idxs, int blocksize, int decode_parity);
void (*encode)(struct xor_code_s *code_desc, char **data, char **parity, int blocksize);
int (*fragments_needed)(struct xor_code_s *code_desc, int *missing_idxs, int *fragments_needed);
} xor_code_t;
-int is_data_in_parity(int data_idx, int parity_bm);
+int is_data_in_parity(int data_idx, unsigned int parity_bm);
-int does_parity_have_data(int parity_idx, int data_bm);
+int does_parity_have_data(int parity_idx, unsigned int data_bm);
int parity_bit_lookup(xor_code_t *code_desc, int index);
diff --git a/c_eclib-0.9/xor_codes/xor_code.c b/c_eclib-0.9/xor_codes/xor_code.c
index 7996e01..2437d61 100644
--- a/c_eclib-0.9/xor_codes/xor_code.c
+++ b/c_eclib-0.9/xor_codes/xor_code.c
@@ -38,12 +38,12 @@ const int g_bit_lookup[] = {0x1, 0x2, 0x4, 0x8,
0x1000000, 0x2000000, 0x4000000, 0x8000000,
0x10000000, 0x20000000, 0x40000000, 0x80000000};
-int is_data_in_parity(int data_idx, int parity_bm)
+int is_data_in_parity(int data_idx, unsigned int parity_bm)
{
return ((g_bit_lookup[data_idx] & parity_bm) == g_bit_lookup[data_idx]);
}
-int does_parity_have_data(int parity_idx, int data_bm)
+int does_parity_have_data(int parity_idx, unsigned int data_bm)
{
return ((g_bit_lookup[parity_idx] & data_bm) == g_bit_lookup[parity_idx]);
}
@@ -277,7 +277,7 @@ void xor_reconstruct_one(xor_code_t *code_desc, char **data, char **parity, int
if (connected_parity_idx >= 0) {
// Can do a cheap reoncstruction!
int relative_parity_idx = connected_parity_idx - code_desc->k;
- int parity_bm = code_desc->parity_bms[relative_parity_idx];
+ unsigned int parity_bm = code_desc->parity_bms[relative_parity_idx];
fast_memcpy(data[index_to_reconstruct], parity[relative_parity_idx], blocksize);
@@ -305,7 +305,7 @@ void xor_reconstruct_one(xor_code_t *code_desc, char **data, char **parity, int
if (num_data_missing == 0) {
int relative_parity_idx = index_to_reconstruct - code_desc->k;
- int parity_bm = code_desc->parity_bms[relative_parity_idx];
+ unsigned int parity_bm = code_desc->parity_bms[relative_parity_idx];
memset(parity[relative_parity_idx], 0, blocksize);