fix rust warnings; make bench_recursion work

This commit is contained in:
Balazs Komuves 2024-12-06 16:44:58 +01:00
parent a228ba76d7
commit 172bee1ba1
No known key found for this signature in database
GPG Key ID: F63B7AEF18435562
3 changed files with 21 additions and 10 deletions

View File

@ -187,9 +187,7 @@ pub(crate) fn selector_polynomials<F: RichField + Extendable<D>, const D: usize>
let mut selector_vector: Vec<usize> = vec![usize::MAX; n];
for (j, g) in instances.iter().enumerate() {
let GateInstance { gate_ref, .. } = g;
let i = index(gate_ref.0.id());
let gr = group(i);
selector_vector[j] = i;
selector_vector[j] = index(gate_ref.0.id());
}
(

View File

@ -46,7 +46,7 @@ use crate::plonk::circuit_builder::CircuitBuilder;
use crate::plonk::config::{GenericConfig, Hasher};
use crate::plonk::plonk_common::PlonkOracle;
use crate::plonk::proof::{CompressedProofWithPublicInputs, ProofWithPublicInputs};
use crate::plonk::prover::{prove,ProverOptions,default_prover_options};
use crate::plonk::prover::{prove,prove_with_options,ProverOptions};
use crate::plonk::verifier::verify;
use crate::util::serialization::{
Buffer, GateSerializer, IoResult, Read, WitnessGeneratorSerializer, Write,
@ -196,12 +196,11 @@ impl<F: RichField + Extendable<D>, C: GenericConfig<D, F = F>, const D: usize>
&self.common,
inputs,
&mut TimingTree::default(),
&default_prover_options,
)
}
pub fn prove_with_options(&self, inputs: PartialWitness<F>, opts: &ProverOptions) -> Result<ProofWithPublicInputs<F, C, D>> {
prove::<F, C, D>(
prove_with_options::<F, C, D>(
&self.prover_only,
&self.common,
inputs,
@ -305,12 +304,11 @@ impl<F: RichField + Extendable<D>, C: GenericConfig<D, F = F>, const D: usize>
&self.common,
inputs,
&mut TimingTree::default(),
&default_prover_options,
)
}
pub fn prove_with_options(&self, inputs: PartialWitness<F>, opts: &ProverOptions) -> Result<ProofWithPublicInputs<F, C, D>> {
prove::<F, C, D>(
prove_with_options::<F, C, D>(
&self.prover_only,
&self.common,
inputs,

View File

@ -122,7 +122,7 @@ pub struct ProverOptions {
pub export_witness: Option<String>, // export the full witness into the given file
}
pub const default_prover_options: ProverOptions = ProverOptions {
pub const DEFAULT_PROVER_OPTIONS: ProverOptions = ProverOptions {
export_witness: None,
};
@ -154,6 +154,21 @@ pub fn prove<F: RichField + Extendable<D>, C: GenericConfig<D, F = F>, const D:
common_data: &CommonCircuitData<F, D>,
inputs: PartialWitness<F>,
timing: &mut TimingTree,
) -> Result<ProofWithPublicInputs<F, C, D>> {
prove_with_options(
prover_data,
common_data,
inputs,
timing,
&DEFAULT_PROVER_OPTIONS,
)
}
pub fn prove_with_options<F: RichField + Extendable<D>, C: GenericConfig<D, F = F>, const D: usize>(
prover_data: &ProverOnlyCircuitData<F, C, D>,
common_data: &CommonCircuitData<F, D>,
inputs: PartialWitness<F>,
timing: &mut TimingTree,
prover_options: &ProverOptions,
) -> Result<ProofWithPublicInputs<F, C, D>>
where
@ -229,7 +244,7 @@ where
None => (),
Some(fname) => {
let things_to_export = collect_things_to_export::<F, C, D>( &common_data, &witness );
write_json_file(&fname, &things_to_export);
write_json_file(&fname, &things_to_export)?;
println!("exported witness to `{}`",fname);
},
}