Fix NM asymetry
Piotr Mikołajczyk piomiko41@gmail.com
Tue, 15 Oct 2024 13:34:46 +0200
3 files changed,
6 insertions(+),
4 deletions(-)
M
src/folding.rs
→
src/folding.rs
@@ -12,7 +12,7 @@ };
pub type NovaFolding = Nova<G1, GVar, G2, GVar2, CircomFCircuit<Fr>, KZG<'static, Bn254>, Pedersen<G2>, false>; -pub type HyperNovaFolding<const N: usize, const M: usize> = HyperNova< +pub type HyperNovaFolding<const M: usize, const N: usize> = HyperNova< G1, GVar, G2,@@ -20,8 +20,8 @@ GVar2,
CircomFCircuit<Fr>, KZG<'static, Bn254>, Pedersen<G2>, - N, M, + N, false, >;@@ -75,7 +75,7 @@ .collect()
} } -impl<const N: usize, const M: usize> FoldingSchemeExt for HyperNovaFolding<N, M> { +impl<const M: usize, const N: usize> FoldingSchemeExt for HyperNovaFolding<M, N> { fn num_steps(num_inputs: usize) -> usize { let per_step = M + N - 1; assert_eq!(num_inputs % per_step, 0);
M
src/main.rs
→
src/main.rs
@@ -63,4 +63,6 @@
scenario::<NovaFolding>(config.clone(), &mut rng, "Nova"); scenario::<HyperNovaFolding<1, 1>>(config.clone(), &mut rng, "HyperNova<1,1>"); scenario::<HyperNovaFolding<2, 2>>(config.clone(), &mut rng, "HyperNova<2,2>"); + scenario::<HyperNovaFolding<6, 1>>(config.clone(), &mut rng, "HyperNova<6,1>"); + scenario::<HyperNovaFolding<1, 6>>(config.clone(), &mut rng, "HyperNova<1,6>"); }
M
src/scenario_config.rs
→
src/scenario_config.rs
@@ -16,7 +16,7 @@
impl ScenarioConfig { pub fn new() -> Self { Self { - num_inputs: 6, + num_inputs: 30, start_ivc_state: vec![Fr::zero(); 2], circuit: info_span!("Prepare circuit").in_scope(create_circuit), input: info_span!("Prepare input").in_scope(prepare_input),