Skip to main content

ColumnEnvironment

Trait ColumnEnvironment 

Source
pub trait ColumnEnvironment<'a, F: FftField, ChallengeTerm, Challenges: Index<ChallengeTerm, Output = F>> {
    type Column;

    // Required methods
    fn get_column(&self, col: &Self::Column) -> Option<&'a Evaluations<F, D<F>>>;
    fn column_domain(&self, col: &Self::Column) -> Domain;
    fn get_domain(&self, d: Domain) -> D<F>;
    fn get_constants(&self) -> &Constants<F>;
    fn get_challenges(&self) -> &Challenges;
    fn vanishes_on_zero_knowledge_and_previous_rows(
        &self,
    ) -> &'a Evaluations<F, D<F>>;
    fn l0_1(&self) -> F;
}

Required Associated Types§

Source

type Column

The generic type of column the environment can use. In other words, with the multi-variate polynomial analogy, it is the variables the multi-variate polynomials are defined upon. i.e. for a polynomial P(X, Y, Z), the type will represent the variable X, Y and Z.

Required Methods§

Source

fn get_column(&self, col: &Self::Column) -> Option<&'a Evaluations<F, D<F>>>

Return the evaluation of the given column, over the domain.

Source

fn column_domain(&self, col: &Self::Column) -> Domain

Defines the domain over which the column is evaluated

Source

fn get_domain(&self, d: Domain) -> D<F>

Source

fn get_constants(&self) -> &Constants<F>

Return the constants parameters that the expression might use. For instance, it can be the matrix used by the linear layer in the permutation.

Source

fn get_challenges(&self) -> &Challenges

Return the challenges, coined by the verifier.

Source

fn vanishes_on_zero_knowledge_and_previous_rows( &self, ) -> &'a Evaluations<F, D<F>>

Source

fn l0_1(&self) -> F

Return the value prod_{j != 1} (1 - omega^j), used for efficiently computing the evaluations of the unnormalized Lagrange basis polynomials.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§