Skip to content

Commit

Permalink
Block machines: Skip complete identities
Browse files Browse the repository at this point in the history
  • Loading branch information
georgwiese committed Jul 3, 2024
1 parent c26ca45 commit 58d23b2
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions executor/src/witgen/block_processor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,17 +67,24 @@ impl<'a, 'b, 'c, T: FieldElement, Q: QueryCallback<T>> BlockProcessor<'a, 'b, 'c
) -> Result<EvalValue<&'a AlgebraicReference, T>, EvalError<T>> {
let mut outer_assignments = vec![];

let mut is_identity_complete =
vec![vec![false; self.identities.len()]; self.processor.len()];

while let Some(SequenceStep { row_delta, action }) = sequence_iterator.next() {
let row_index = (1 + row_delta) as usize;
let progress = match action {
Action::InternalIdentity(identity_index) => {
self.processor
.process_identity(
if is_identity_complete[row_index][identity_index] {
false
} else {
let res = self.processor.process_identity(
row_index,
self.identities[identity_index],
UnknownStrategy::Unknown,
)?
.progress
)?;
is_identity_complete[row_index][identity_index] = res.is_complete;
res.progress
}
}
Action::OuterQuery => {
let (progress, new_outer_assignments) =
Expand Down

0 comments on commit 58d23b2

Please sign in to comment.