mirror of
https://github.com/arnaucube/sonobe.git
synced 2026-02-01 00:36:40 +01:00
HyperNova: add multi-instances folding to AugmentedFCircuit & IVC (#119)
- Adds the logic to support multi-instances folding in HyperNova's AugmentedFCircuit & IVC. - Adds also methods to generate new LCCCS & CCCS instances that don't depend on the main folding chain, to be folded in in the next step - Updates CycleFold circuit & methods to work other folding schemes than Nova, adapting it to fold multiple points per circuit (instead of 2-to-1 as till now) - Handle multi-instances folding in the FoldingScheme trait interface, which expects 'None' in Nova, and 'Some' in HyperNova & other multi-folding schemes.
This commit is contained in:
@@ -361,12 +361,12 @@ pub mod tests {
|
||||
let nova_params = N::preprocess(&mut rng, &prep_param).unwrap();
|
||||
|
||||
let start = Instant::now();
|
||||
let mut nova = N::init(nova_params.clone(), F_circuit, z_0.clone()).unwrap();
|
||||
let mut nova = N::init(&nova_params, F_circuit, z_0.clone()).unwrap();
|
||||
println!("Nova initialized, {:?}", start.elapsed());
|
||||
let start = Instant::now();
|
||||
nova.prove_step(&mut rng, vec![]).unwrap();
|
||||
nova.prove_step(&mut rng, vec![], None).unwrap();
|
||||
println!("prove_step, {:?}", start.elapsed());
|
||||
nova.prove_step(&mut rng, vec![]).unwrap(); // do a 2nd step
|
||||
nova.prove_step(&mut rng, vec![], None).unwrap(); // do a 2nd step
|
||||
|
||||
let mut rng = rand::rngs::OsRng;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user