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::{CircomBase, Wasm};
9
10#[cfg(feature = "circom-2")]
11pub(super) use circom::Circom2;
12
13pub(super) use circom::Circom;
14
15use fnv::FnvHasher;
16use std::hash::Hasher;
17
18pub(crate) fn fnv(inp: &str) -> (u32, u32) {
19 let mut hasher = FnvHasher::default();
20 hasher.write(inp.as_bytes());
21 let h = hasher.finish();
22
23 ((h >> 32) as u32, h as u32)
24}