Skip to content

Commit

Permalink
Combine eq step constraints into single constraint (#799)
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewmilson authored Aug 28, 2024
1 parent 387a072 commit 793a498
Show file tree
Hide file tree
Showing 3 changed files with 274 additions and 62 deletions.
3 changes: 2 additions & 1 deletion crates/prover/src/constraint_framework/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ pub trait EvalAtRow {
+ Debug
+ Zero
+ Neg<Output = Self::F>
+ AddAssign<Self::F>
+ AddAssign
+ AddAssign<BaseField>
+ Add<Self::F, Output = Self::F>
+ Sub<Self::F, Output = Self::F>
Expand All @@ -52,6 +52,7 @@ pub trait EvalAtRow {
+ Zero
+ From<Self::F>
+ Neg<Output = Self::EF>
+ AddAssign
+ Add<SecureField, Output = Self::EF>
+ Sub<SecureField, Output = Self::EF>
+ Mul<SecureField, Output = Self::EF>
Expand Down
7 changes: 7 additions & 0 deletions crates/prover/src/core/poly/circle/secure_poly.rs
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,13 @@ impl<B: FieldOps<BaseField>, EvalOrder> SecureEvaluation<B, EvalOrder> {
_eval_order: PhantomData,
}
}

pub fn into_coordinate_evals(
self,
) -> [CircleEvaluation<B, BaseField, EvalOrder>; SECURE_EXTENSION_DEGREE] {
let Self { domain, values, .. } = self;
values.columns.map(|c| CircleEvaluation::new(domain, c))
}
}

impl<B: FieldOps<BaseField>, EvalOrder> Deref for SecureEvaluation<B, EvalOrder> {
Expand Down
Loading

0 comments on commit 793a498

Please sign in to comment.