Browse Source

Fix NM asymetry

main
Piotr Mikołajczyk 6 months ago
parent
commit
2c065a8bd0
No known key found for this signature in database GPG Key ID: 7ADA31326DE28EC7
3 changed files with 6 additions and 4 deletions
  1. +3
    -3
      src/folding.rs
  2. +2
    -0
      src/main.rs
  3. +1
    -1
      src/scenario_config.rs

+ 3
- 3
src/folding.rs

@ -12,7 +12,7 @@ use sonobe::{
pub type NovaFolding = pub type NovaFolding =
Nova<G1, GVar, G2, GVar2, CircomFCircuit<Fr>, KZG<'static, Bn254>, Pedersen<G2>, false>; 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, G1,
GVar, GVar,
G2, G2,
@ -20,8 +20,8 @@ pub type HyperNovaFolding = HyperNova<
CircomFCircuit<Fr>, CircomFCircuit<Fr>,
KZG<'static, Bn254>, KZG<'static, Bn254>,
Pedersen<G2>, Pedersen<G2>,
N,
M, M,
N,
false, false,
>; >;
@ -75,7 +75,7 @@ impl FoldingSchemeExt for NovaFolding {
} }
} }
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 { fn num_steps(num_inputs: usize) -> usize {
let per_step = M + N - 1; let per_step = M + N - 1;
assert_eq!(num_inputs % per_step, 0); assert_eq!(num_inputs % per_step, 0);

+ 2
- 0
src/main.rs

@ -63,4 +63,6 @@ fn main() {
scenario::<NovaFolding>(config.clone(), &mut rng, "Nova"); scenario::<NovaFolding>(config.clone(), &mut rng, "Nova");
scenario::<HyperNovaFolding<1, 1>>(config.clone(), &mut rng, "HyperNova<1,1>"); scenario::<HyperNovaFolding<1, 1>>(config.clone(), &mut rng, "HyperNova<1,1>");
scenario::<HyperNovaFolding<2, 2>>(config.clone(), &mut rng, "HyperNova<2,2>"); 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>");
} }

+ 1
- 1
src/scenario_config.rs

@ -16,7 +16,7 @@ pub struct ScenarioConfig {
impl ScenarioConfig { impl ScenarioConfig {
pub fn new() -> Self { pub fn new() -> Self {
Self { Self {
num_inputs: 6,
num_inputs: 30,
start_ivc_state: vec![Fr::zero(); 2], start_ivc_state: vec![Fr::zero(); 2],
circuit: info_span!("Prepare circuit").in_scope(create_circuit), circuit: info_span!("Prepare circuit").in_scope(create_circuit),
input: info_span!("Prepare input").in_scope(prepare_input), input: info_span!("Prepare input").in_scope(prepare_input),

Loading…
Cancel
Save