Skip to content

Commit

Permalink
chore: address feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
Al-Kindi-0 committed Sep 4, 2024
1 parent 807aba1 commit 4e6d3ab
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 26 deletions.
18 changes: 7 additions & 11 deletions air/src/air/logup_gkr/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -270,17 +270,10 @@ impl<E> PeriodicTable<E>
where
E: FieldElement,
{
pub fn new<B>(table: Vec<Vec<B>>) -> Self
where
E: FieldElement + ExtensionOf<B>,
B: StarkField,
{
pub fn new(table: Vec<Vec<E::BaseField>>) -> Self {
let mut result = vec![];
for col in table.iter() {
let mut res = vec![];
for v in col {
res.push(E::from(*v))
}
let res = embed_in_extension(col.to_vec());
result.push(res)
}

Expand All @@ -295,8 +288,11 @@ where
&self.table
}

pub fn get_periodic_values_at(&self, row: usize) -> Vec<E> {
self.table.iter().map(|col| col[row % col.len()]).collect()
pub fn get_periodic_values_at(&self, row: usize, values: &mut [E]) {
self.table
.iter()
.zip(values.iter_mut())
.for_each(|(col, value)| *value = col[row % col.len()])
}

pub fn bind_least_significant_variable(&mut self, round_challenge: E) {
Expand Down
3 changes: 2 additions & 1 deletion prover/src/logup_gkr/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,13 @@ impl<E: FieldElement> EvaluatedCircuit<E> {
let mut main_frame = EvaluationFrame::new(main_trace.main_segment().num_cols());

let mut query = vec![E::BaseField::ZERO; evaluator.get_oracles().len()];
let mut periodic_values_row = vec![E::BaseField::ZERO; periodic_values.num_columns()];
let mut numerators = vec![E::ZERO; num_fractions];
let mut denominators = vec![E::ZERO; num_fractions];
for i in 0..main_trace.main_segment().num_rows() {
let wires_from_trace_row = {
main_trace.read_main_frame(i, &mut main_frame);
let periodic_values_row = periodic_values.get_periodic_values_at(i);
periodic_values.get_periodic_values_at(i, &mut periodic_values_row);
evaluator.build_query(&main_frame, &periodic_values_row, &mut query);

evaluator.build_query(&main_frame, &[], &mut query);
Expand Down
16 changes: 2 additions & 14 deletions sumcheck/src/prover/high_degree.rs
Original file line number Diff line number Diff line change
Expand Up @@ -331,20 +331,8 @@ fn sumcheck_round<E: FieldElement>(
let eq_at_zero = eq_ml.evaluations()[2 * i];
let eq_at_one = eq_ml.evaluations()[2 * i + 1];

let periodic_at_zero = periodic_table.get_periodic_values_at(2 * i);
let periodic_at_one = periodic_table.get_periodic_values_at(2 * i + 1);

// add evaluation of periodic columns
evals_zero
.iter_mut()
.skip(num_mls)
.enumerate()
.for_each(|(i, ev)| *ev = periodic_at_zero[i]);
evals_one
.iter_mut()
.skip(num_mls)
.enumerate()
.for_each(|(i, ev)| *ev = periodic_at_one[i]);
periodic_table.get_periodic_values_at(2 * i, &mut evals_zero[num_mls..]);
periodic_table.get_periodic_values_at(2 * i + 1, &mut evals_one[num_mls..]);

// compute the evaluation at 1
evaluator.evaluate_query(
Expand Down
5 changes: 5 additions & 0 deletions winterfell/src/tests/logup_gkr_simple.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
// Copyright (c) Facebook, Inc. and its affiliates.
//
// This source code is licensed under the MIT license found in the
// LICENSE file in the root directory of this source tree.

use std::{marker::PhantomData, vec, vec::Vec};

use air::{
Expand Down
5 changes: 5 additions & 0 deletions winterfell/src/tests/mod.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
// Copyright (c) Facebook, Inc. and its affiliates.
//
// This source code is licensed under the MIT license found in the
// LICENSE file in the root directory of this source tree.

mod logup_gkr_simple;

mod logup_gkr_periodic;

0 comments on commit 4e6d3ab

Please sign in to comment.