]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - typedef.c
slightly faster hash function (using crc32), with precomputed polynomial table (256x3...
[xonotic/gmqcc.git] / typedef.c
index 0259f350c32d7de88f7e7cd02673fb246b388799..d9be47817df95489a427cc26b268afa6496ca1d3 100644 (file)
--- a/typedef.c
+++ b/typedef.c
@@ -29,21 +29,8 @@ void typedef_init() {
         typedef_table[i] = NULL;
 }
 
-unsigned int typedef_hash(const char *s) {
-    unsigned int hash = 0;
-    unsigned int size = strlen(s);
-    unsigned int iter;
-    
-    for (iter = 0; iter < size; iter++) {
-        hash += s[iter];
-        hash += (hash << 10);
-        hash ^= (hash >> 6);
-    }
-    hash += (hash << 3);
-    hash ^= (hash >> 11);
-    hash += (hash << 15);
-    
-    return hash % 1024;
+uint32_t typedef_hash(const char *s) {
+    return util_crc32(s, strlen(s), 1024);
 }
 
 typedef_node *typedef_find(const char *s) {