Standard configs (#337)

`large_config` was similar to `standard_recursion_config`; let's standardize on the latter.
This commit is contained in:
Daniel Lubarov 2021-11-03 14:30:32 -07:00 committed by GitHub
parent fb3f5e7db8
commit fdce382af3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 36 additions and 60 deletions

View File

@ -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);

View File

@ -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<_>>();

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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)
}
}

View File

@ -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)
}

View File

@ -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(),
))
}

View File

@ -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);

View File

@ -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();

View File

@ -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>;

View File

@ -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,
))
}

View File

@ -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);

View File

@ -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();

View File

@ -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()
}
}
}

View File

@ -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;

View File

@ -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);