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}