pub type TwoAdicFriGenericConfigForMmcs<F, M> = TwoAdicFriGenericConfig<Vec<BatchOpening<F, M>>, <M as Mmcs<F>>::Error>;
Aliased Type§
struct TwoAdicFriGenericConfigForMmcs<F, M>(pub PhantomData<(Vec<BatchOpening<F, M>>, <M as Mmcs<F>>::Error)>);
Fields§
§0: PhantomData<(Vec<BatchOpening<F, M>>, <M as Mmcs<F>>::Error)>
Trait Implementations
Source§impl<F: TwoAdicField, InputProof, InputError: Debug> FriGenericConfig<F> for TwoAdicFriGenericConfig<InputProof, InputError>
impl<F: TwoAdicField, InputProof, InputError: Debug> FriGenericConfig<F> for TwoAdicFriGenericConfig<InputProof, InputError>
type InputProof = InputProof
type InputError = InputError
Source§fn extra_query_index_bits(&self) -> usize
fn extra_query_index_bits(&self) -> usize
We can ask FRI to sample extra query bits (LSB) for our own purposes.
They will be passed to our callbacks, but ignored (shifted off) by FRI.
Source§fn fold_row(
&self,
index: usize,
log_height: usize,
beta: F,
evals: impl Iterator<Item = F>,
) -> F
fn fold_row( &self, index: usize, log_height: usize, beta: F, evals: impl Iterator<Item = F>, ) -> F
Fold a row, returning a single column.
Right now the input row will always be 2 columns wide,
but we may support higher folding arity in the future.
Source§fn fold_matrix<M: Matrix<F>>(&self, beta: F, m: M) -> Vec<F>
fn fold_matrix<M: Matrix<F>>(&self, beta: F, m: M) -> Vec<F>
Same as applying fold_row to every row, possibly faster.