trs_dataframe/utils.rs
const FNV_OFFSET_BASIS_32: u32 = 0x811c9dc5;
const FNV_PRIME_32: u32 = 0x01000193;
pub const fn fnv1a_hash_str_32(bytes: &str) -> u32 {
let bytes = bytes.as_bytes();
let prime = FNV_PRIME_32;
let mut hash = FNV_OFFSET_BASIS_32;
let mut i = 0;
let len = bytes.len();
while i < len {
hash ^= bytes[i] as u32;
hash = hash.wrapping_mul(prime);
i += 1;
}
hash
}