mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-08 08:43:06 +00:00
Standard configs (#337)
`large_config` was similar to `standard_recursion_config`; let's standardize on the latter.
This commit is contained in:
parent
fb3f5e7db8
commit
fdce382af3
@ -545,7 +545,7 @@ mod tests {
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let mut pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
@ -580,7 +580,7 @@ mod tests {
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_zk_config();
|
||||
let config = CircuitConfig::standard_recursion_zk_config();
|
||||
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
@ -608,7 +608,7 @@ mod tests {
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
|
||||
@ -43,7 +43,7 @@ mod tests {
|
||||
use anyhow::Result;
|
||||
|
||||
use super::*;
|
||||
use crate::field::extension_field::quartic::QuarticExtension;
|
||||
use crate::field::extension_field::quadratic::QuadraticExtension;
|
||||
use crate::field::field_types::Field;
|
||||
use crate::field::goldilocks_field::GoldilocksField;
|
||||
use crate::iop::witness::PartialWitness;
|
||||
@ -62,11 +62,11 @@ mod tests {
|
||||
|
||||
fn test_insert_given_len(len_log: usize) -> Result<()> {
|
||||
type F = GoldilocksField;
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
type FF = QuadraticExtension<GoldilocksField>;
|
||||
let len = 1 << len_log;
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
let mut builder = CircuitBuilder::<F, 2>::new(config);
|
||||
let v = (0..len - 1)
|
||||
.map(|_| builder.constant_extension(FF::rand()))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
@ -49,7 +49,7 @@ mod tests {
|
||||
fn test_interpolate() -> Result<()> {
|
||||
type F = GoldilocksField;
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
|
||||
|
||||
@ -397,7 +397,7 @@ mod tests {
|
||||
type F = GoldilocksField;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
@ -422,7 +422,7 @@ mod tests {
|
||||
type F = GoldilocksField;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
@ -451,7 +451,7 @@ mod tests {
|
||||
type F = GoldilocksField;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
|
||||
@ -98,7 +98,7 @@ mod tests {
|
||||
type F = GoldilocksField;
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
let len = 1 << len_log;
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
let vec = FF::rand_vec(len);
|
||||
|
||||
@ -53,7 +53,7 @@ mod tests {
|
||||
fn test_select() -> Result<()> {
|
||||
type F = GoldilocksField;
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let mut pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
|
||||
|
||||
@ -186,7 +186,7 @@ mod tests {
|
||||
type F = GoldilocksField;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let mut pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
|
||||
@ -112,7 +112,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_split_base() -> Result<()> {
|
||||
type F = GoldilocksField;
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
let x = F::from_canonical_usize(0b110100000); // 416 = 1532 in base 6.
|
||||
@ -138,7 +138,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_base_sum() -> Result<()> {
|
||||
type F = GoldilocksField;
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
|
||||
|
||||
@ -213,13 +213,15 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn low_degree() {
|
||||
let gate = ArithmeticExtensionGate::new_from_config(&CircuitConfig::large_config());
|
||||
let gate =
|
||||
ArithmeticExtensionGate::new_from_config(&CircuitConfig::standard_recursion_config());
|
||||
test_low_degree::<GoldilocksField, _, 4>(gate);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn eval_fns() -> Result<()> {
|
||||
let gate = ArithmeticExtensionGate::new_from_config(&CircuitConfig::large_config());
|
||||
let gate =
|
||||
ArithmeticExtensionGate::new_from_config(&CircuitConfig::standard_recursion_config());
|
||||
test_eval_fns::<GoldilocksField, _, 4>(gate)
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,14 +123,14 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn low_degree() {
|
||||
let num_consts = CircuitConfig::large_config().constant_gate_size;
|
||||
let num_consts = CircuitConfig::standard_recursion_config().constant_gate_size;
|
||||
let gate = ConstantGate { num_consts };
|
||||
test_low_degree::<GoldilocksField, _, 2>(gate)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn eval_fns() -> Result<()> {
|
||||
let num_consts = CircuitConfig::large_config().constant_gate_size;
|
||||
let num_consts = CircuitConfig::standard_recursion_config().constant_gate_size;
|
||||
let gate = ConstantGate { num_consts };
|
||||
test_eval_fns::<GoldilocksField, _, 2>(gate)
|
||||
}
|
||||
|
||||
@ -299,7 +299,7 @@ mod tests {
|
||||
let config = CircuitConfig {
|
||||
num_wires: 120,
|
||||
num_routed_wires: 30,
|
||||
..CircuitConfig::large_config()
|
||||
..CircuitConfig::standard_recursion_config()
|
||||
};
|
||||
|
||||
test_low_degree::<GoldilocksField, _, 4>(ExponentiationGate::new_from_config(&config));
|
||||
@ -308,7 +308,7 @@ mod tests {
|
||||
#[test]
|
||||
fn eval_fns() -> Result<()> {
|
||||
test_eval_fns::<GoldilocksField, _, 4>(ExponentiationGate::new_from_config(
|
||||
&CircuitConfig::large_config(),
|
||||
&CircuitConfig::standard_recursion_config(),
|
||||
))
|
||||
}
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ pub(crate) fn test_eval_fns<F: RichField + Extendable<D>, G: Gate<F, D>, const D
|
||||
let wires = F::Extension::rand_vec(gate.num_wires());
|
||||
let constants = F::Extension::rand_vec(gate.num_constants());
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let mut pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
|
||||
|
||||
@ -348,7 +348,7 @@ mod tests {
|
||||
type F = GoldilocksField;
|
||||
const WIDTH: usize = 12;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let mut builder = CircuitBuilder::new(config);
|
||||
type Gate = GMiMCGate<F, 4, WIDTH>;
|
||||
let gate = Gate::new();
|
||||
|
||||
@ -529,7 +529,7 @@ mod tests {
|
||||
|
||||
let config = CircuitConfig {
|
||||
num_wires: 143,
|
||||
..CircuitConfig::large_config()
|
||||
..CircuitConfig::standard_recursion_config()
|
||||
};
|
||||
let mut builder = CircuitBuilder::new(config);
|
||||
type Gate = PoseidonGate<F, 4, WIDTH>;
|
||||
|
||||
@ -352,7 +352,7 @@ mod tests {
|
||||
#[test]
|
||||
fn low_degree() {
|
||||
test_low_degree::<GoldilocksField, _, 4>(SwitchGate::<_, 4>::new_from_config(
|
||||
&CircuitConfig::large_config(),
|
||||
&CircuitConfig::standard_recursion_config(),
|
||||
3,
|
||||
));
|
||||
}
|
||||
@ -360,7 +360,7 @@ mod tests {
|
||||
#[test]
|
||||
fn eval_fns() -> Result<()> {
|
||||
test_eval_fns::<GoldilocksField, _, 4>(SwitchGate::<_, 4>::new_from_config(
|
||||
&CircuitConfig::large_config(),
|
||||
&CircuitConfig::standard_recursion_config(),
|
||||
3,
|
||||
))
|
||||
}
|
||||
|
||||
@ -142,7 +142,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_recursive_merkle_proof() -> Result<()> {
|
||||
type F = GoldilocksField;
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let mut pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
|
||||
|
||||
@ -376,7 +376,7 @@ mod tests {
|
||||
outputs_per_round.push(challenger.get_n_challenges(num_outputs_per_round[r]));
|
||||
}
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
let mut builder = CircuitBuilder::<F, 4>::new(config);
|
||||
let mut recursive_challenger = RecursiveChallenger::new(&mut builder);
|
||||
let mut recursive_outputs_per_round: Vec<Vec<Target>> = Vec::new();
|
||||
|
||||
@ -68,36 +68,10 @@ impl CircuitConfig {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub(crate) fn large_config() -> Self {
|
||||
Self {
|
||||
num_wires: 143,
|
||||
num_routed_wires: 64,
|
||||
constant_gate_size: 6,
|
||||
security_bits: 4,
|
||||
rate_bits: 3,
|
||||
num_challenges: 3,
|
||||
zero_knowledge: false,
|
||||
cap_height: 1,
|
||||
fri_config: FriConfig {
|
||||
proof_of_work_bits: 1,
|
||||
reduction_strategy: FriReductionStrategy::ConstantArityBits(3, 5),
|
||||
num_query_rounds: 1,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub(crate) fn large_zk_config() -> Self {
|
||||
pub(crate) fn standard_recursion_zk_config() -> Self {
|
||||
CircuitConfig {
|
||||
zero_knowledge: true,
|
||||
cap_height: 1,
|
||||
fri_config: FriConfig {
|
||||
proof_of_work_bits: 1,
|
||||
reduction_strategy: FriReductionStrategy::ConstantArityBits(3, 5),
|
||||
num_query_rounds: 1,
|
||||
},
|
||||
..Self::large_config()
|
||||
..Self::standard_recursion_config()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -320,7 +320,7 @@ mod tests {
|
||||
type F = GoldilocksField;
|
||||
const D: usize = 4;
|
||||
|
||||
let mut config = CircuitConfig::large_config();
|
||||
let mut config = CircuitConfig::standard_recursion_config();
|
||||
config.fri_config.reduction_strategy = FriReductionStrategy::Fixed(vec![1, 1]);
|
||||
config.fri_config.num_query_rounds = 50;
|
||||
|
||||
|
||||
@ -192,7 +192,7 @@ mod tests {
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
@ -220,7 +220,7 @@ mod tests {
|
||||
type FF = QuarticExtension<GoldilocksField>;
|
||||
const D: usize = 4;
|
||||
|
||||
let config = CircuitConfig::large_config();
|
||||
let config = CircuitConfig::standard_recursion_config();
|
||||
|
||||
let pw = PartialWitness::new();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(config);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user