summaryrefslogtreecommitdiff
path: root/map.c
diff options
context:
space:
mode:
authorCarson Fleming <[email protected]>2026-02-01 03:38:20 -0500
committerCarson Fleming <[email protected]>2026-02-01 03:38:20 -0500
commitcbcbbc4c25126fae22369286eef75b3b0973d6ec (patch)
treef361e9716481626849be64cabd2ad707ca88b4e2 /map.c
parent9500e54b874794bd1d9fb5702aa423c6f1794f27 (diff)
downloadsafec-cbcbbc4c25126fae22369286eef75b3b0973d6ec.tar.gz
include a good hash function
Diffstat (limited to 'map.c')
-rw-r--r--map.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/map.c b/map.c
index 927fd66..ab7f922 100644
--- a/map.c
+++ b/map.c
@@ -5,6 +5,15 @@
#define DEFAULT_CAPACITY 16
+size_t hash_bytes(const void* start, size_t size) {
+ size_t hash = 0;
+ const char* raw_data = start;
+ for (size_t i = 0; i < size; i++) {
+ hash = (hash << 5) - hash + raw_data[i];
+ }
+ return hash;
+}
+
void map_init(
map_t* map,
hash_func_t hash_func,