diff --git a/src/witness_generator/generator.rs b/src/witness_generator/generator.rs index b8549290b..72cc3a038 100644 --- a/src/witness_generator/generator.rs +++ b/src/witness_generator/generator.rs @@ -9,7 +9,7 @@ use super::affine_expression::AffineExpression; use super::bit_constraints::{BitConstraint, BitConstraintSet}; use super::eval_error::EvalError; use super::expression_evaluator::{ExpressionEvaluator, SymbolicVariables}; -use super::machine::Machine; +use super::machines::Machine; use super::util::contains_next_witness_ref; use super::{Constraint, EvalResult, FixedData, WitnessColumn}; diff --git a/src/witness_generator/double_sorted_witness_machine.rs b/src/witness_generator/machines/double_sorted_witness_machine.rs similarity index 97% rename from src/witness_generator/double_sorted_witness_machine.rs rename to src/witness_generator/machines/double_sorted_witness_machine.rs index da95f5ff3..ada46f54d 100644 --- a/src/witness_generator/double_sorted_witness_machine.rs +++ b/src/witness_generator/machines/double_sorted_witness_machine.rs @@ -3,15 +3,15 @@ use std::iter::once; use itertools::{Either, Itertools}; +use super::Machine; use crate::analyzer::PolynomialReference; use crate::analyzer::{Expression, Identity, IdentityKind, SelectedExpressions}; use crate::number::AbstractNumberType; -use crate::witness_generator::eval_error; - -use super::affine_expression::AffineExpression; -use super::eval_error::EvalError; -use super::machine::Machine; -use super::{EvalResult, FixedData}; +use crate::witness_generator::{ + affine_expression::AffineExpression, + eval_error::{self, EvalError}, + EvalResult, FixedData, +}; /// TODO make this generic diff --git a/src/witness_generator/fixed_lookup_machine.rs b/src/witness_generator/machines/fixed_lookup_machine.rs similarity index 94% rename from src/witness_generator/fixed_lookup_machine.rs rename to src/witness_generator/machines/fixed_lookup_machine.rs index 733e7aed8..81834f3bd 100644 --- a/src/witness_generator/fixed_lookup_machine.rs +++ b/src/witness_generator/machines/fixed_lookup_machine.rs @@ -1,16 +1,17 @@ use std::collections::{HashMap, HashSet}; +use super::Machine; use crate::analyzer::{Expression, Identity, IdentityKind, SelectedExpressions}; use crate::number::{AbstractNumberType, DegreeType}; -use crate::witness_generator::eval_error; -use crate::witness_generator::expression_evaluator::ExpressionEvaluator; -use crate::witness_generator::util::contains_witness_ref; -use super::affine_expression::AffineExpression; -use super::eval_error::EvalError; -use super::fixed_evaluator::FixedEvaluator; -use super::machine::Machine; -use super::{EvalResult, FixedData}; +use crate::witness_generator::{ + affine_expression::AffineExpression, + eval_error::{self, EvalError}, + expression_evaluator::ExpressionEvaluator, + fixed_evaluator::FixedEvaluator, + util::contains_witness_ref, + EvalResult, FixedData, +}; /// Machine to perform a lookup in fixed columns only. /// It only supports lookup in the first column of the query and will use the first match. diff --git a/src/witness_generator/machine_extractor.rs b/src/witness_generator/machines/machine_extractor.rs similarity index 98% rename from src/witness_generator/machine_extractor.rs rename to src/witness_generator/machines/machine_extractor.rs index 3c8d185ea..dc61bfc1d 100644 --- a/src/witness_generator/machine_extractor.rs +++ b/src/witness_generator/machines/machine_extractor.rs @@ -4,10 +4,10 @@ use crate::analyzer::{Expression, Identity, SelectedExpressions}; use super::double_sorted_witness_machine::DoubleSortedWitnesses; use super::fixed_lookup_machine::FixedLookup; -use super::machine::Machine; - use super::sorted_witness_machine::SortedWitnesses; -use super::{FixedData, WitnessColumn}; +use super::FixedData; +use super::Machine; +use crate::witness_generator::WitnessColumn; /// Finds machines in the witness columns and identities /// and returns a list of machines and the identities diff --git a/src/witness_generator/machine.rs b/src/witness_generator/machines/mod.rs similarity index 92% rename from src/witness_generator/machine.rs rename to src/witness_generator/machines/mod.rs index ea75941d8..6bc14c330 100644 --- a/src/witness_generator/machine.rs +++ b/src/witness_generator/machines/mod.rs @@ -6,6 +6,11 @@ use crate::number::AbstractNumberType; use super::EvalResult; use super::{affine_expression::AffineExpression, eval_error::EvalError, FixedData}; +mod double_sorted_witness_machine; +mod fixed_lookup_machine; +pub mod machine_extractor; +mod sorted_witness_machine; + /// A machine is a set of witness columns and identities where the columns /// are used on the right-hand-side of lookups. It can process plookups. pub trait Machine { diff --git a/src/witness_generator/sorted_witness_machine.rs b/src/witness_generator/machines/sorted_witness_machine.rs similarity index 96% rename from src/witness_generator/sorted_witness_machine.rs rename to src/witness_generator/machines/sorted_witness_machine.rs index 1415dda7b..be1aabc6d 100644 --- a/src/witness_generator/sorted_witness_machine.rs +++ b/src/witness_generator/machines/sorted_witness_machine.rs @@ -2,17 +2,17 @@ use std::collections::{BTreeMap, HashMap, HashSet}; use itertools::{Either, Itertools}; +use super::super::affine_expression::AffineExpression; +use super::Machine; +use super::{EvalResult, FixedData}; use crate::analyzer::{Expression, Identity, IdentityKind, SelectedExpressions}; use crate::number::AbstractNumberType; -use crate::witness_generator::eval_error; - -use super::affine_expression::AffineExpression; -use super::eval_error::EvalError; -use super::expression_evaluator::ExpressionEvaluator; -use super::fixed_evaluator::FixedEvaluator; -use super::machine::Machine; -use super::symbolic_evaluator::SymbolicEvaluator; -use super::{EvalResult, FixedData}; +use crate::witness_generator::{ + eval_error::{self, EvalError}, + expression_evaluator::ExpressionEvaluator, + fixed_evaluator::FixedEvaluator, + symbolic_evaluator::SymbolicEvaluator, +}; /// A machine that can support a lookup in a set of columns that are sorted /// by one specific column and values in that column have to be unique. diff --git a/src/witness_generator/mod.rs b/src/witness_generator/mod.rs index 1d14af836..e7dd78602 100644 --- a/src/witness_generator/mod.rs +++ b/src/witness_generator/mod.rs @@ -9,15 +9,11 @@ use self::util::WitnessColumnNamer; mod affine_expression; mod bit_constraints; -mod double_sorted_witness_machine; mod eval_error; mod expression_evaluator; pub mod fixed_evaluator; -mod fixed_lookup_machine; mod generator; -mod machine; -mod machine_extractor; -mod sorted_witness_machine; +mod machines; pub mod symbolic_evaluator; mod util; @@ -49,8 +45,11 @@ pub fn generate<'a>( witness_ids: witness_cols.iter().map(|w| (w.name, w.id)).collect(), verbose, }; - let (machines, identities) = - machine_extractor::split_out_machines(&fixed, &analyzed.identities, &witness_cols); + let (machines, identities) = machines::machine_extractor::split_out_machines( + &fixed, + &analyzed.identities, + &witness_cols, + ); let (global_bit_constraints, identities) = bit_constraints::determine_global_constraints(&fixed, identities); let mut generator = generator::Generator::new(