mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-02 13:53:07 +00:00
commit
8a8b3f36aa
@ -44,12 +44,8 @@ impl<P: PackedField> ConstraintConsumer<P> {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Do this correctly.
|
||||
pub fn accumulators(self) -> Vec<P::Scalar> {
|
||||
pub fn accumulators(self) -> Vec<P> {
|
||||
self.constraint_accs
|
||||
.into_iter()
|
||||
.map(|acc| acc.as_slice()[0])
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// Add one constraint valid on all rows except the last.
|
||||
|
||||
@ -388,7 +388,7 @@ where
|
||||
let quotient_values = (0..size)
|
||||
.into_par_iter()
|
||||
.step_by(P::WIDTH)
|
||||
.map(|i_start| {
|
||||
.flat_map_iter(|i_start| {
|
||||
let i_next_start = (i_start + next_step) % size;
|
||||
let i_range = i_start..i_start + P::WIDTH;
|
||||
|
||||
@ -444,11 +444,18 @@ where
|
||||
);
|
||||
let mut constraints_evals = consumer.accumulators();
|
||||
// We divide the constraints evaluations by `Z_H(x)`.
|
||||
let denominator_inv = z_h_on_coset.eval_inverse_packed(i_start);
|
||||
let denominator_inv: P = z_h_on_coset.eval_inverse_packed(i_start);
|
||||
for eval in &mut constraints_evals {
|
||||
*eval *= denominator_inv;
|
||||
}
|
||||
constraints_evals
|
||||
|
||||
let num_challenges = alphas.len();
|
||||
|
||||
(0..P::WIDTH).into_iter().map(move |i| {
|
||||
(0..num_challenges)
|
||||
.map(|j| constraints_evals[j].as_slice()[i])
|
||||
.collect()
|
||||
})
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
|
||||
@ -44,12 +44,8 @@ impl<P: PackedField> ConstraintConsumer<P> {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Do this correctly.
|
||||
pub fn accumulators(self) -> Vec<P::Scalar> {
|
||||
pub fn accumulators(self) -> Vec<P> {
|
||||
self.constraint_accs
|
||||
.into_iter()
|
||||
.map(|acc| acc.as_slice()[0])
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// Add one constraint valid on all rows except the last.
|
||||
|
||||
@ -258,7 +258,7 @@ where
|
||||
let quotient_values = (0..size)
|
||||
.into_par_iter()
|
||||
.step_by(P::WIDTH)
|
||||
.map(|i_start| {
|
||||
.flat_map_iter(|i_start| {
|
||||
let i_next_start = (i_start + next_step) % size;
|
||||
let i_range = i_start..i_start + P::WIDTH;
|
||||
|
||||
@ -292,13 +292,22 @@ where
|
||||
permutation_check_data,
|
||||
&mut consumer,
|
||||
);
|
||||
|
||||
let mut constraints_evals = consumer.accumulators();
|
||||
// We divide the constraints evaluations by `Z_H(x)`.
|
||||
let denominator_inv = z_h_on_coset.eval_inverse_packed(i_start);
|
||||
let denominator_inv: P = z_h_on_coset.eval_inverse_packed(i_start);
|
||||
|
||||
for eval in &mut constraints_evals {
|
||||
*eval *= denominator_inv;
|
||||
}
|
||||
constraints_evals
|
||||
|
||||
let num_challenges = alphas.len();
|
||||
|
||||
(0..P::WIDTH).into_iter().map(move |i| {
|
||||
(0..num_challenges)
|
||||
.map(|j| constraints_evals[j].as_slice()[i])
|
||||
.collect()
|
||||
})
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user