make xxhash API funcs static and hash string size too

This commit is contained in:
Nikita Smith
2025-09-08 16:07:31 -07:00
committed by Ryan Fleury
parent 80b65bc0fb
commit 222c220d99
+12 -9
View File
@@ -378,12 +378,12 @@ str8_is_before(String8 a, String8 b)
{ {
result = 1; result = 1;
break; break;
} }
else if(a.str[off] > b.str[off]) else if(a.str[off] > b.str[off])
{ {
result = 0; result = 0;
break; break;
} }
else if(off+1 == common_size) else if(off+1 == common_size)
{ {
result = (a.size < b.size); result = (a.size < b.size);
@@ -2808,8 +2808,7 @@ str8_compar(String8 a, String8 b, B32 ignore_case)
return cmp; return cmp;
} }
internal int internal int
str8_compar_ignore_case(const void *a, const void *b)
str8_compar_ignore_case(const void *a, const void *b) str8_compar_ignore_case(const void *a, const void *b)
{ {
return str8_compar(*(String8*)a, *(String8*)b, 1); return str8_compar(*(String8*)a, *(String8*)b, 1);
@@ -2831,6 +2830,7 @@ str8_is_before_case_sensitive(const void *a, const void *b)
//////////////////////////////// ////////////////////////////////
//~ rjf: Basic String Hashes //~ rjf: Basic String Hashes
#if !defined(XXH_IMPLEMENTATION)
# define XXH_PRIVATE_API # define XXH_PRIVATE_API
# define XXH_IMPLEMENTATION # define XXH_IMPLEMENTATION
# define XXH_STATIC_LINKING_ONLY # define XXH_STATIC_LINKING_ONLY
@@ -2839,7 +2839,10 @@ str8_is_before_case_sensitive(const void *a, const void *b)
internal U64 internal U64
u64_hash_from_seed_str8(U64 seed, String8 string) u64_hash_from_seed_str8(U64 seed, String8 string)
U64 result = XXH3_64bits_withSeed(string.str, string.size, seed); {
XXH3_state_t hasher; XXH3_64bits_reset_withSeed(&hasher, seed);
XXH3_64bits_update(&hasher, &string.size, sizeof(string.size));
XXH3_64bits_update(&hasher, string.str, string.size);
XXH64_hash_t result = XXH3_64bits_digest(&hasher); XXH64_hash_t result = XXH3_64bits_digest(&hasher);
return result; return result;
} }