summaryrefslogtreecommitdiffstats
path: root/test/test_hash.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_hash.c')
-rw-r--r--test/test_hash.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/test/test_hash.c b/test/test_hash.c
index b1de72a..3d3ca95 100644
--- a/test/test_hash.c
+++ b/test/test_hash.c
@@ -47,21 +47,24 @@ test_fail(TestState* const state, const char* fmt, ...)
return EXIT_FAILURE;
}
-ZIX_PURE_FUNC static const char*
+ZIX_PURE_FUNC
+static const char*
identity(const char* record)
{
return record;
}
/// Decent hash function using zix_digest (murmur2)
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
decent_string_hash(const char* const str)
{
return zix_digest(0U, str, strlen(str));
}
/// Terrible hash function from K&R first edition
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
terrible_string_hash(const char* str)
{
size_t hash = 0U;
@@ -74,7 +77,8 @@ terrible_string_hash(const char* str)
return hash;
}
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
string_hash_aligned(const char* const str)
{
size_t length = strlen(str);
@@ -83,19 +87,22 @@ string_hash_aligned(const char* const str)
return zix_digest_aligned(0U, str, length);
}
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
string_hash32(const char* const str)
{
return (size_t)zix_digest32(0U, str, strlen(str));
}
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
string_hash64(const char* const str)
{
return (size_t)zix_digest64(0U, str, strlen(str));
}
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
string_hash32_aligned(const char* const str)
{
size_t length = strlen(str);
@@ -106,7 +113,8 @@ string_hash32_aligned(const char* const str)
#if UINTPTR_MAX >= UINT64_MAX
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
string_hash64_aligned(const char* const str)
{
size_t length = strlen(str);
@@ -135,7 +143,7 @@ stress_with(ZixAllocator* const allocator,
static const size_t string_length = 15;
char* const buffer = (char*)calloc(1, n_elems * (string_length + 1));
- char** const strings = state.strings = (char**)calloc(sizeof(char*), n_elems);
+ char** const strings = state.strings = (char**)calloc(n_elems, sizeof(char*));
state.buffer = buffer;
state.strings = strings;
ENSURE(&state, buffer && state.strings, "Failed to allocate strings\n");
@@ -290,7 +298,8 @@ stress(ZixAllocator* const allocator, const size_t n_elems)
}
/// Identity hash function for numeric strings for explicitly hitting cases
-ZIX_PURE_FUNC static size_t
+ZIX_PURE_FUNC
+static size_t
identity_index_hash(const char* const str)
{
return strtoul(str, NULL, 10);