Skip to main content

EvalAtRow

Trait EvalAtRow 

Source
pub trait EvalAtRow {
    type F: FieldExpOps + Clone + Debug + Zero + Neg<Output = Self::F> + AddAssign + AddAssign<BaseField> + Add<Self::F, Output = Self::F> + Sub<Self::F, Output = Self::F> + Mul<BaseField, Output = Self::F> + Add<SecureField, Output = Self::EF> + Mul<SecureField, Output = Self::EF> + From<BaseField>;
    type EF: One + Clone + Debug + Zero + Neg<Output = Self::EF> + AddAssign + Add<BaseField, Output = Self::EF> + Mul<BaseField, Output = Self::EF> + Add<SecureField, Output = Self::EF> + Sub<SecureField, Output = Self::EF> + Mul<SecureField, Output = Self::EF> + Add<Self::F, Output = Self::EF> + Mul<Self::F, Output = Self::EF> + Sub<Self::EF, Output = Self::EF> + Mul<Self::EF, Output = Self::EF> + From<SecureField> + From<Self::F>;

Show 13 methods // Required methods fn next_interaction_mask<const N: usize>( &mut self, interaction: usize, offsets: [isize; N], ) -> [Self::F; N]; fn add_constraint<G>(&mut self, constraint: G) where Self::EF: Mul<G, Output = Self::EF> + From<G>; fn combine_ef(values: [Self::F; 4]) -> Self::EF; // Provided methods fn next_trace_mask(&mut self) -> Self::F { ... } fn get_preprocessed_column( &mut self, _column: PreProcessedColumnId, ) -> Self::F { ... } fn next_extension_interaction_mask<const N: usize>( &mut self, interaction: usize, offsets: [isize; N], ) -> [Self::EF; N] { ... } fn add_intermediate(&mut self, val: Self::F) -> Self::F { ... } fn add_extension_intermediate(&mut self, val: Self::EF) -> Self::EF { ... } fn add_to_relation<R: Relation<Self::F, Self::EF>>( &mut self, entry: RelationEntry<'_, Self::F, Self::EF, R>, ) { ... } fn write_logup_frac(&mut self, _fraction: Fraction<Self::EF, Self::EF>) { ... } fn finalize_logup_batched(&mut self, _batching: &Vec<usize>) { ... } fn finalize_logup(&mut self) { ... } fn finalize_logup_in_pairs(&mut self) { ... }
}
Expand description

A trait for evaluating expressions at some point or row.

Required Associated Types§

Source

type F: FieldExpOps + Clone + Debug + Zero + Neg<Output = Self::F> + AddAssign + AddAssign<BaseField> + Add<Self::F, Output = Self::F> + Sub<Self::F, Output = Self::F> + Mul<BaseField, Output = Self::F> + Add<SecureField, Output = Self::EF> + Mul<SecureField, Output = Self::EF> + From<BaseField>

The field type holding values of columns for the component. These are the inputs to the constraints. It might be BaseField packed types, or even SecureField, when evaluating the columns out of domain.

Source

type EF: One + Clone + Debug + Zero + Neg<Output = Self::EF> + AddAssign + Add<BaseField, Output = Self::EF> + Mul<BaseField, Output = Self::EF> + Add<SecureField, Output = Self::EF> + Sub<SecureField, Output = Self::EF> + Mul<SecureField, Output = Self::EF> + Add<Self::F, Output = Self::EF> + Mul<Self::F, Output = Self::EF> + Sub<Self::EF, Output = Self::EF> + Mul<Self::EF, Output = Self::EF> + From<SecureField> + From<Self::F>

A field type representing the closure of F with multiplying by SecureField. Constraints usually get multiplied by SecureField values for security.

Required Methods§

Source

fn next_interaction_mask<const N: usize>( &mut self, interaction: usize, offsets: [isize; N], ) -> [Self::F; N]

Returns the mask values of the given offsets for the next column in the interaction.

Source

fn add_constraint<G>(&mut self, constraint: G)
where Self::EF: Mul<G, Output = Self::EF> + From<G>,

Adds a constraint to the component.

Source

fn combine_ef(values: [Self::F; 4]) -> Self::EF

Combines 4 base field values into a single extension field value.

Provided Methods§

Source

fn next_trace_mask(&mut self) -> Self::F

Returns the next mask value for the first interaction at offset 0.

Source

fn get_preprocessed_column(&mut self, _column: PreProcessedColumnId) -> Self::F

Source

fn next_extension_interaction_mask<const N: usize>( &mut self, interaction: usize, offsets: [isize; N], ) -> [Self::EF; N]

Returns the extension mask values of the given offsets for the next extension degree many columns in the interaction.

Source

fn add_intermediate(&mut self, val: Self::F) -> Self::F

Adds an intermediate value in the base field to the component and returns its value. Does nothing by default.

Source

fn add_extension_intermediate(&mut self, val: Self::EF) -> Self::EF

Adds an intermediate value in the extension field to the component and returns its value. Does nothing by default.

Source

fn add_to_relation<R: Relation<Self::F, Self::EF>>( &mut self, entry: RelationEntry<'_, Self::F, Self::EF, R>, )

Adds entry.values to entry.relation with entry.multiplicity for all ‘entry’ in ‘entries’, batched together. Constraint degree increases with number of batched constraints as the denominators are multiplied.

Source

fn write_logup_frac(&mut self, _fraction: Fraction<Self::EF, Self::EF>)

Source

fn finalize_logup_batched(&mut self, _batching: &Vec<usize>)

Source

fn finalize_logup(&mut self)

Source

fn finalize_logup_in_pairs(&mut self)

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl EvalAtRow for InfoEvaluator

Source§

type F = ArithmeticCounter<false>

Source§

type EF = ArithmeticCounter<true>

Source§

impl EvalAtRow for PointEvaluator<'_>