trs_dataframe/utils.rs
1const FNV_OFFSET_BASIS_32: u32 = 0x811c9dc5;
2const FNV_PRIME_32: u32 = 0x01000193;
3pub const fn fnv1a_hash_str_32(bytes: &str) -> u32 {
4 let bytes = bytes.as_bytes();
5 let prime = FNV_PRIME_32;
6
7 let mut hash = FNV_OFFSET_BASIS_32;
8 let mut i = 0;
9 let len = bytes.len();
10
11 while i < len {
12 hash ^= bytes[i] as u32;
13 hash = hash.wrapping_mul(prime);
14 i += 1;
15 }
16 hash
17}