arnaucube
arnaucube/sonobe-playgroundPublic Self-hosted repository
Fix NM asymetry
Piotr Mikołajczyk piomiko41@gmail.com
Tue, 15 Oct 2024 13:34:46 +0200
commit

2c065a8bd059d55cfaceab1278309566d7b3fd4a

parent

a22f75490dfbb40759235b255586d545de8d4712

3 files changed, 6 insertions(+), 4 deletions(-)

jump to
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),