diff --git a/src/copy.inl b/src/copy.inl index ad0ad3f..47771d4 100644 --- a/src/copy.inl +++ b/src/copy.inl @@ -13,21 +13,7 @@ // limitations under the License. #include -#include static void copy(char *__restrict dst, const char *src, size_t count) { - size_t offset = 0; - -#define CHUNK_COPY(TYPE) \ - while (count - offset >= sizeof(TYPE)) { \ - *(TYPE *)(dst + offset) = *(const TYPE *)(src + offset); \ - offset += sizeof(TYPE); \ - } - - CHUNK_COPY(uint64_t) - CHUNK_COPY(uint32_t) - CHUNK_COPY(uint16_t) - CHUNK_COPY(uint8_t) - -#undef CHUNK_COPY + for (size_t i = 0; i < count; ++i) dst[i] = src[i]; } diff --git a/src/equals.inl b/src/equals.inl index 8a80a6c..67a115f 100644 --- a/src/equals.inl +++ b/src/equals.inl @@ -14,24 +14,9 @@ #include #include -#include static bool equals(const char *lhs, const char *rhs, size_t count) { - size_t offset = 0; - -#define CHUNK_EQUALS(TYPE) \ - while (count - offset >= sizeof(TYPE)) { \ - TYPE l = *(const TYPE *)(lhs + offset); \ - TYPE r = *(const TYPE *)(rhs + offset); \ - if (l != r) return false; \ - offset += sizeof(TYPE); \ - } - - CHUNK_EQUALS(uint64_t) - CHUNK_EQUALS(uint32_t) - CHUNK_EQUALS(uint16_t) - CHUNK_EQUALS(uint8_t) -#undef CHUNK_EQUALS - + for (size_t i = 0; i < count; ++i) + if (lhs[i] != rhs[i]) return false; return true; }