fix even-distribution generation

This commit is contained in:
Qyriad 2024-10-25 17:42:50 -06:00
parent dfe2e4eeeb
commit 7e076185af

View file

@ -597,7 +597,7 @@ mod test {
let entries: Vec<(RpoDigest, Word)> = (0..PAIR_COUNT)
.map(|i| {
let leaf_index = u64::MAX / (i + 1);
let leaf_index = ((i as f64 / PAIR_COUNT as f64) * 255.0) as u64;
let key = RpoDigest::new([ONE, ONE, Felt::new(i), Felt::new(leaf_index)]);
let value = [ONE, ONE, ONE, Felt::new(i)];
(key, value)
@ -606,7 +606,7 @@ mod test {
let control = Smt::with_entries(entries.clone()).unwrap();
let leaves: Vec<(u64, RpoDigest)> = entries
let mut leaves: Vec<(u64, RpoDigest)> = entries
.iter()
.map(|(key, value)| {
let leaf = SmtLeaf::new_single(*key, *value);
@ -615,6 +615,8 @@ mod test {
(col, hash)
})
.collect();
leaves.sort();
leaves.dedup_by_key(|leaf| leaf.0);
let first_subtree = Smt::build_subtree(leaves, SMT_DEPTH);
assert!(!first_subtree.is_empty());