diff options
author | Eric Lambert <eric_lambert@xyratex.com> | 2014-06-11 14:38:37 -0700 |
---|---|---|
committer | Eric Lambert <eric_lambert@xyratex.com> | 2014-06-11 14:38:37 -0700 |
commit | a559c355992bd8ed57064ee3bd3431cf3d1623e7 (patch) | |
tree | 3fcad0b79a198db9d95ea0797f793f67eafcfb67 | |
parent | 0f7f2b3dcf4f3ceb4ad9acebfbd4baf61836b6d1 (diff) | |
download | pyeclib-a559c355992bd8ed57064ee3bd3431cf3d1623e7.tar.gz |
issue-50: bitmap value should be unsigned ints
-rw-r--r-- | c_eclib-0.9/include/xor_code.h | 8 | ||||
-rw-r--r-- | c_eclib-0.9/xor_codes/xor_code.c | 8 |
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); |