From ace4844f4cf9c2bbb0a996ae083f3bd6f2388b1f Mon Sep 17 00:00:00 2001 From: Polesznyák Márk Date: Wed, 8 Apr 2026 01:47:10 +0200 Subject: feat: initial commit --- hashmap.ha | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 hashmap.ha (limited to 'hashmap.ha') diff --git a/hashmap.ha b/hashmap.ha new file mode 100644 index 0000000..dd580b0 --- /dev/null +++ b/hashmap.ha @@ -0,0 +1,15 @@ +use hash::fnv; + +def BUCKETS: size = 1 << 17; + +type hashmap = [BUCKETS](str, data); + +fn getitem(map: *hashmap, hash: size) data = { + let bucket = &map[hash & (BUCKETS - 1)]; + return bucket.1; +}; + +fn setitem(map: *hashmap, hash: size, key: str, value: data) void = { + let bucket = &map[hash & (BUCKETS - 1)]; + *bucket = (key, value); +}; -- cgit v1.2.3