diff options
Diffstat (limited to 'libs/bitfield-c/src/bitfield/8byte.c')
-rw-r--r-- | libs/bitfield-c/src/bitfield/8byte.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libs/bitfield-c/src/bitfield/8byte.c b/libs/bitfield-c/src/bitfield/8byte.c index 9325ed1b..be46e825 100644 --- a/libs/bitfield-c/src/bitfield/8byte.c +++ b/libs/bitfield-c/src/bitfield/8byte.c @@ -6,13 +6,13 @@ #define EIGHTBYTE_BIT (8 * sizeof(uint64_t)) -uint8_t eightbyte_get_nibble(const uint64_t source, const uint8_t nibble_index, +unsigned int eightbyte_get_nibble(const uint64_t source, const unsigned int nibble_index, const bool data_is_big_endian) { - return (uint8_t) eightbyte_get_bitfield(source, NIBBLE_SIZE * nibble_index, + return (unsigned int) eightbyte_get_bitfield(source, NIBBLE_SIZE * nibble_index, NIBBLE_SIZE, data_is_big_endian); } -uint8_t eightbyte_get_byte(uint64_t source, const uint8_t byte_index, +unsigned int eightbyte_get_byte(uint64_t source, const unsigned int byte_index, const bool data_is_big_endian) { if(data_is_big_endian) { source = __builtin_bswap64(source); @@ -23,8 +23,8 @@ uint8_t eightbyte_get_byte(uint64_t source, const uint8_t byte_index, // TODO is this funciton necessary anymore? is it any faster for uint64_t than // get_bitfield(data[], ...)? is the performance better on a 32 bit platform // like the PIC32? -uint64_t eightbyte_get_bitfield(uint64_t source, const uint16_t offset, - const uint16_t bit_count, const bool data_is_big_endian) { +uint64_t eightbyte_get_bitfield(uint64_t source, const unsigned int offset, + const unsigned int bit_count, const bool data_is_big_endian) { int startByte = offset / CHAR_BIT; int endByte = (offset + bit_count - 1) / CHAR_BIT; @@ -32,11 +32,11 @@ uint64_t eightbyte_get_bitfield(uint64_t source, const uint16_t offset, source = __builtin_bswap64(source); } - uint8_t* bytes = (uint8_t*)&source; + unsigned int* bytes = (unsigned int*)&source; uint64_t ret = bytes[startByte]; if(startByte != endByte) { // The lowest byte address contains the most significant bit. - uint8_t i; + unsigned int i; for(i = startByte + 1; i <= endByte; i++) { ret = ret << 8; ret = ret | bytes[i]; @@ -47,8 +47,8 @@ uint64_t eightbyte_get_bitfield(uint64_t source, const uint16_t offset, return ret & bitmask(bit_count); } -bool eightbyte_set_bitfield(uint64_t value, const uint16_t offset, - const uint16_t bit_count, uint64_t* destination) { +bool eightbyte_set_bitfield(uint64_t value, const unsigned int offset, + const unsigned int bit_count, uint64_t* destination) { if(value > bitmask(bit_count)) { return false; } |