arnaucube
arnaucube/circom-compatPublic Self-hosted repository
circom-compat/src/witness/mod.rs
src/witness/mod.rsRaw
 1mod witness_calculator;
 2pub use witness_calculator::WitnessCalculator;
 3
 4mod memory;
 5pub(super) use memory::SafeMemory;
 6
 7mod circom;
 8pub(super) use circom::Wasm;
 9
10use fnv::FnvHasher;
11use std::hash::Hasher;
12
13pub(crate) fn fnv(inp: &str) -> (u32, u32) {
14    let mut hasher = FnvHasher::default();
15    hasher.write(inp.as_bytes());
16    let h = hasher.finish();
17
18    ((h >> 32) as u32, h as u32)
19}