Remove indirection from NumUtil_encode_bigend_* arg
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/cd3e363e Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/cd3e363e Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/cd3e363e Branch: refs/heads/master Commit: cd3e363e19c6aac5a6680604db21ec493838e8f7 Parents: 2c43cf0 Author: Nick Wellnhofer <[email protected]> Authored: Fri Feb 3 14:51:38 2017 +0100 Committer: Nick Wellnhofer <[email protected]> Committed: Fri Feb 3 14:53:11 2017 +0100 ---------------------------------------------------------------------- core/Lucy/Index/SortFieldWriter.c | 4 ++-- core/Lucy/Store/OutStream.c | 24 ++++++++++-------------- core/Lucy/Util/NumberUtils.cfh | 19 +++++++------------ test/Lucy/Test/Util/TestNumberUtils.c | 20 ++++++++++---------- 4 files changed, 29 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/cd3e363e/core/Lucy/Index/SortFieldWriter.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Index/SortFieldWriter.c b/core/Lucy/Index/SortFieldWriter.c index 85fb411..b5fef00 100644 --- a/core/Lucy/Index/SortFieldWriter.c +++ b/core/Lucy/Index/SortFieldWriter.c @@ -240,13 +240,13 @@ S_write_ord(void *ords, int32_t width, int32_t doc_id, int32_t ord) { case 16: { uint8_t *bytes = (uint8_t*)ords; bytes += (size_t)doc_id * sizeof(uint16_t); - NumUtil_encode_bigend_u16((uint16_t)ord, &bytes); + NumUtil_encode_bigend_u16((uint16_t)ord, bytes); } break; case 32: { uint8_t *bytes = (uint8_t*)ords; bytes += (size_t)doc_id * sizeof(uint32_t); - NumUtil_encode_bigend_u32((uint32_t)ord, &bytes); + NumUtil_encode_bigend_u32((uint32_t)ord, bytes); } break; default: http://git-wip-us.apache.org/repos/asf/lucy/blob/cd3e363e/core/Lucy/Store/OutStream.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Store/OutStream.c b/core/Lucy/Store/OutStream.c index cd10165..4d83947 100644 --- a/core/Lucy/Store/OutStream.c +++ b/core/Lucy/Store/OutStream.c @@ -236,9 +236,8 @@ SI_write_u32(OutStream *self, OutStreamIVARS *ivars, uint32_t value) { #ifdef CHY_BIG_END SI_write_bytes(self, ivars, &value, 4); #else - char buf[4]; - char *buf_copy = buf; - NumUtil_encode_bigend_u32(value, &buf_copy); + char buf[4]; + NumUtil_encode_bigend_u32(value, buf); SI_write_bytes(self, ivars, buf, 4); #endif } @@ -258,9 +257,8 @@ SI_write_u64(OutStream *self, OutStreamIVARS *ivars, uint64_t value) { #ifdef CHY_BIG_END SI_write_bytes(self, ivars, &value, 8); #else - char buf[sizeof(uint64_t)]; - char *buf_copy = buf; - NumUtil_encode_bigend_u64(value, &buf_copy); + char buf[sizeof(uint64_t)]; + NumUtil_encode_bigend_u64(value, buf); SI_write_bytes(self, ivars, buf, sizeof(uint64_t)); #endif } @@ -278,19 +276,17 @@ OutStream_Write_U64_IMP(OutStream *self, uint64_t value) { void OutStream_Write_F32_IMP(OutStream *self, float value) { OutStreamIVARS *const ivars = OutStream_IVARS(self); - char buf[sizeof(float)]; - char *buf_copy = buf; - NumUtil_encode_bigend_f32(value, &buf_copy); - SI_write_bytes(self, ivars, buf_copy, sizeof(float)); + char buf[sizeof(float)]; + NumUtil_encode_bigend_f32(value, buf); + SI_write_bytes(self, ivars, buf, sizeof(float)); } void OutStream_Write_F64_IMP(OutStream *self, double value) { OutStreamIVARS *const ivars = OutStream_IVARS(self); - char buf[sizeof(double)]; - char *buf_copy = buf; - NumUtil_encode_bigend_f64(value, &buf_copy); - SI_write_bytes(self, ivars, buf_copy, sizeof(double)); + char buf[sizeof(double)]; + NumUtil_encode_bigend_f64(value, buf); + SI_write_bytes(self, ivars, buf, sizeof(double)); } void http://git-wip-us.apache.org/repos/asf/lucy/blob/cd3e363e/core/Lucy/Util/NumberUtils.cfh ---------------------------------------------------------------------- diff --git a/core/Lucy/Util/NumberUtils.cfh b/core/Lucy/Util/NumberUtils.cfh index 5ecf7fa..caf4e82 100644 --- a/core/Lucy/Util/NumberUtils.cfh +++ b/core/Lucy/Util/NumberUtils.cfh @@ -215,8 +215,7 @@ lucy_NumUtil_is_bigend() { } static CFISH_INLINE void -lucy_NumUtil_encode_bigend_u16(uint16_t value, void *dest_ptr) { - uint8_t *dest = *(uint8_t**)dest_ptr; +lucy_NumUtil_encode_bigend_u16(uint16_t value, void *dest) { if (!lucy_NumUtil_is_bigend()) { value = ((value & 0xFF00) >> 8) | ((value & 0x00FF) << 8); } @@ -224,8 +223,7 @@ lucy_NumUtil_encode_bigend_u16(uint16_t value, void *dest_ptr) { } static CFISH_INLINE void -lucy_NumUtil_encode_bigend_u32(uint32_t value, void *dest_ptr) { - uint8_t *dest = *(uint8_t**)dest_ptr; +lucy_NumUtil_encode_bigend_u32(uint32_t value, void *dest) { if (!lucy_NumUtil_is_bigend()) { value = ((value & 0xFF000000) >> 24) | @@ -237,8 +235,7 @@ lucy_NumUtil_encode_bigend_u32(uint32_t value, void *dest_ptr) { } static CFISH_INLINE void -lucy_NumUtil_encode_bigend_u64(uint64_t value, void *dest_ptr) { - uint8_t *dest = *(uint8_t**)dest_ptr; +lucy_NumUtil_encode_bigend_u64(uint64_t value, void *dest) { if (!lucy_NumUtil_is_bigend()) { value = ((value & 0xFF00000000000000) >> 56) | @@ -285,28 +282,26 @@ lucy_NumUtil_decode_bigend_u64(const void *source) { } static CFISH_INLINE void -lucy_NumUtil_encode_bigend_f32(float value, void *dest_ptr) { - uint8_t *dest = *(uint8_t**)dest_ptr; +lucy_NumUtil_encode_bigend_f32(float value, void *dest) { if (lucy_NumUtil_is_bigend()) { memcpy(dest, &value, sizeof(float)); } else { union { float f; uint32_t u32; } duo; duo.f = value; - lucy_NumUtil_encode_bigend_u32(duo.u32, &dest); + lucy_NumUtil_encode_bigend_u32(duo.u32, dest); } } static CFISH_INLINE void -lucy_NumUtil_encode_bigend_f64(double value, void *dest_ptr) { - uint8_t *dest = *(uint8_t**)dest_ptr; +lucy_NumUtil_encode_bigend_f64(double value, void *dest) { if (lucy_NumUtil_is_bigend()) { memcpy(dest, &value, sizeof(double)); } else { union { double d; uint64_t u64; } duo; duo.d = value; - lucy_NumUtil_encode_bigend_u64(duo.u64, &dest); + lucy_NumUtil_encode_bigend_u64(duo.u64, dest); } } http://git-wip-us.apache.org/repos/asf/lucy/blob/cd3e363e/test/Lucy/Test/Util/TestNumberUtils.c ---------------------------------------------------------------------- diff --git a/test/Lucy/Test/Util/TestNumberUtils.c b/test/Lucy/Test/Util/TestNumberUtils.c index f9cf3a1..f906e07 100644 --- a/test/Lucy/Test/Util/TestNumberUtils.c +++ b/test/Lucy/Test/Util/TestNumberUtils.c @@ -305,7 +305,7 @@ test_bigend_u16(TestBatchRunner *runner) { char *target = encoded; for (size_t i = 0; i < count; i++) { - NumUtil_encode_bigend_u16((uint16_t)ints[i], &target); + NumUtil_encode_bigend_u16((uint16_t)ints[i], target); target += sizeof(uint16_t); } target = encoded; @@ -316,7 +316,7 @@ test_bigend_u16(TestBatchRunner *runner) { } target = encoded; - NumUtil_encode_bigend_u16(1, &target); + NumUtil_encode_bigend_u16(1, target); TEST_INT_EQ(runner, encoded[0], 0, "Truly big-endian u16"); TEST_INT_EQ(runner, encoded[1], 1, "Truly big-endian u16"); @@ -335,7 +335,7 @@ test_bigend_u32(TestBatchRunner *runner) { for (size_t i = 0; i < count; i++) { ints[i] = (uint32_t)ints[i]; - NumUtil_encode_bigend_u32((uint32_t)ints[i], &target); + NumUtil_encode_bigend_u32((uint32_t)ints[i], target); target += sizeof(uint32_t); } target = encoded; @@ -346,7 +346,7 @@ test_bigend_u32(TestBatchRunner *runner) { } target = encoded; - NumUtil_encode_bigend_u32(1, &target); + NumUtil_encode_bigend_u32(1, target); TEST_INT_EQ(runner, encoded[0], 0, "Truly big-endian u32"); TEST_INT_EQ(runner, encoded[3], 1, "Truly big-endian u32"); @@ -364,7 +364,7 @@ test_bigend_u64(TestBatchRunner *runner) { char *target = encoded; for (size_t i = 0; i < count; i++) { - NumUtil_encode_bigend_u64(ints[i], &target); + NumUtil_encode_bigend_u64(ints[i], target); target += sizeof(uint64_t); } target = encoded; @@ -375,7 +375,7 @@ test_bigend_u64(TestBatchRunner *runner) { } target = encoded; - NumUtil_encode_bigend_u64(1, &target); + NumUtil_encode_bigend_u64(1, target); TEST_INT_EQ(runner, encoded[0], 0, "Truly big-endian"); TEST_INT_EQ(runner, encoded[7], 1, "Truly big-endian"); @@ -393,7 +393,7 @@ test_bigend_f32(TestBatchRunner *runner) { uint8_t *target = encoded; for (size_t i = 0; i < count; i++) { - NumUtil_encode_bigend_f32(source[i], &target); + NumUtil_encode_bigend_f32(source[i], target); target += sizeof(float); } target = encoded; @@ -404,7 +404,7 @@ test_bigend_f32(TestBatchRunner *runner) { } target = encoded; - NumUtil_encode_bigend_f32(-2.0f, &target); + NumUtil_encode_bigend_f32(-2.0f, target); TEST_INT_EQ(runner, (encoded[0] & 0x80), 0x80, "Truly big-endian (IEEE 754 sign bit set for negative number)"); TEST_INT_EQ(runner, encoded[0], 0xC0, @@ -427,7 +427,7 @@ test_bigend_f64(TestBatchRunner *runner) { uint8_t *target = encoded; for (size_t i = 0; i < count; i++) { - NumUtil_encode_bigend_f64(source[i], &target); + NumUtil_encode_bigend_f64(source[i], target); target += sizeof(double); } target = encoded; @@ -438,7 +438,7 @@ test_bigend_f64(TestBatchRunner *runner) { } target = encoded; - NumUtil_encode_bigend_f64(-2.0, &target); + NumUtil_encode_bigend_f64(-2.0, target); TEST_INT_EQ(runner, (encoded[0] & 0x80), 0x80, "Truly big-endian (IEEE 754 sign bit set for negative number)"); TEST_INT_EQ(runner, encoded[0], 0xC0,
