Skip to content

Commit a4dc0be

Browse files
committed
Combine eq step constraints into single constraint
1 parent f16ba08 commit a4dc0be

File tree

3 files changed

+272
-62
lines changed

3 files changed

+272
-62
lines changed

crates/prover/src/constraint_framework/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ pub trait EvalAtRow {
3434
+ Debug
3535
+ Zero
3636
+ Neg<Output = Self::F>
37-
+ AddAssign<Self::F>
37+
+ AddAssign
3838
+ AddAssign<BaseField>
3939
+ Add<Self::F, Output = Self::F>
4040
+ Sub<Self::F, Output = Self::F>
@@ -52,6 +52,7 @@ pub trait EvalAtRow {
5252
+ Zero
5353
+ From<Self::F>
5454
+ Neg<Output = Self::EF>
55+
+ AddAssign
5556
+ Add<SecureField, Output = Self::EF>
5657
+ Sub<SecureField, Output = Self::EF>
5758
+ Mul<SecureField, Output = Self::EF>

crates/prover/src/core/poly/circle/secure_poly.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ impl<B: FieldOps<BaseField>, EvalOrder> SecureEvaluation<B, EvalOrder> {
7373
_eval_order: PhantomData,
7474
}
7575
}
76+
77+
pub fn into_coordinate_evals(
78+
self,
79+
) -> [CircleEvaluation<B, BaseField, EvalOrder>; SECURE_EXTENSION_DEGREE] {
80+
let Self { domain, values, .. } = self;
81+
values.columns.map(|c| CircleEvaluation::new(domain, c))
82+
}
7683
}
7784

7885
impl<B: FieldOps<BaseField>, EvalOrder> Deref for SecureEvaluation<B, EvalOrder> {

0 commit comments

Comments
 (0)