mirror of
https://github.com/arnaucube/sonobe-playground.git
synced 2026-01-14 10:01:30 +01:00
Fix NM asymetry
This commit is contained in:
@@ -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<const N: usize, const M: usize> = 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);
|
||||||
|
|||||||
@@ -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>");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
Reference in New Issue
Block a user