ucx/hash_key.c

changeset 1040
473d8cb58a6c
parent 943
9b5948aa5b90
--- a/ucx/hash_key.c	Wed Dec 31 12:37:09 2025 +0100
+++ b/ucx/hash_key.c	Wed Dec 31 16:40:12 2025 +0100
@@ -63,14 +63,14 @@
     switch (len) {
         case 3:
             h ^= (data[i + 2] & 0xFF) << 16;
-            cx_attr_fallthrough;
+            CX_FALLTHROUGH;
         case 2:
             h ^= (data[i + 1] & 0xFF) << 8;
-            cx_attr_fallthrough;
+            CX_FALLTHROUGH;
         case 1:
             h ^= (data[i + 0] & 0xFF);
             h *= m;
-            cx_attr_fallthrough;
+            CX_FALLTHROUGH;
         default: // do nothing
             ;
     }
@@ -82,56 +82,6 @@
     key->hash = h;
 }
 
-
-uint32_t cx_hash_u32(uint32_t x) {
-    x = ((x >> 16) ^ x) * 0x45d9f3bu;
-    x = ((x >> 16) ^ x) * 0x45d9f3bu;
-    x = (x >> 16) ^ x;
-    return x;
-}
-
-uint64_t cx_hash_u64(uint64_t x) {
-    x = (x ^ (x >> 30)) * UINT64_C(0xbf58476d1ce4e5b9);
-    x = (x ^ (x >> 27)) * UINT64_C(0x94d049bb133111eb);
-    x = x ^ (x >> 31);
-    return x;
-}
-
-CxHashKey cx_hash_key_str(const char *str) {
-    CxHashKey key;
-    key.data = str;
-    key.len = str == NULL ? 0 : strlen(str);
-    cx_hash_murmur(&key);
-    return key;
-}
-
-CxHashKey cx_hash_key_ustr(unsigned const char *str) {
-    CxHashKey key;
-    key.data = str;
-    key.len = str == NULL ? 0 : strlen((const char*)str);
-    cx_hash_murmur(&key);
-    return key;
-}
-
-CxHashKey cx_hash_key_cxstr(cxstring str) {
-    return cx_hash_key(str.ptr, str.length);
-}
-
-CxHashKey cx_hash_key_mutstr(cxmutstr str) {
-    return cx_hash_key(str.ptr, str.length);
-}
-
-CxHashKey cx_hash_key_bytes(
-        const unsigned char *bytes,
-        size_t len
-) {
-    CxHashKey key;
-    key.data = bytes;
-    key.len = len;
-    cx_hash_murmur(&key);
-    return key;
-}
-
 CxHashKey cx_hash_key(
         const void *obj,
         size_t len
@@ -143,22 +93,6 @@
     return key;
 }
 
-CxHashKey cx_hash_key_u32(uint32_t x) {
-    CxHashKey key;
-    key.data = NULL;
-    key.len = 0;
-    key.hash = cx_hash_u32(x);
-    return key;
-}
-
-CxHashKey cx_hash_key_u64(uint64_t x) {
-    CxHashKey key;
-    key.data = NULL;
-    key.len = 0;
-    key.hash = cx_hash_u64(x);
-    return key;
-}
-
 int cx_hash_key_cmp(const void *l, const void *r) {
     const CxHashKey *left = l;
     const CxHashKey *right = r;
@@ -170,3 +104,7 @@
     if (left->len == 0) return 0;
     return memcmp(left->data, right->data, left->len);
 }
+
+cxstring cx_hash_key_as_string(const CxHashKey *key) {
+    return cx_strn(key->data, key->len);
+}

mercurial