pub struct ProofEvaluations<Evals> {
Show 26 fields pub public: Option<Evals>, pub w: [Evals; 15], pub z: Evals, pub s: [Evals; 6], pub coefficients: [Evals; 15], pub generic_selector: Evals, pub poseidon_selector: Evals, pub complete_add_selector: Evals, pub mul_selector: Evals, pub emul_selector: Evals, pub endomul_scalar_selector: Evals, pub range_check0_selector: Option<Evals>, pub range_check1_selector: Option<Evals>, pub foreign_field_add_selector: Option<Evals>, pub foreign_field_mul_selector: Option<Evals>, pub xor_selector: Option<Evals>, pub rot_selector: Option<Evals>, pub lookup_aggregation: Option<Evals>, pub lookup_table: Option<Evals>, pub lookup_sorted: [Option<Evals>; 5], pub runtime_lookup_table: Option<Evals>, pub runtime_lookup_table_selector: Option<Evals>, pub xor_lookup_selector: Option<Evals>, pub lookup_gate_lookup_selector: Option<Evals>, pub range_check_lookup_selector: Option<Evals>, pub foreign_field_mul_lookup_selector: Option<Evals>,
}
Expand description

Polynomial evaluations contained in a ProverProof.

  • Chunked evaluations Field is instantiated with vectors with a length that equals the length of the chunk
  • Non chunked evaluations Field is instantiated with a field, so they are single-sized#serde_as

Fields§

§public: Option<Evals>

public input polynomials

§w: [Evals; 15]

witness polynomials

§z: Evals

permutation polynomial

§s: [Evals; 6]

permutation polynomials (PERMUTS-1 evaluations because the last permutation is only used in commitment form)

§coefficients: [Evals; 15]

coefficient polynomials

§generic_selector: Evals

evaluation of the generic selector polynomial

§poseidon_selector: Evals

evaluation of the poseidon selector polynomial

§complete_add_selector: Evals

evaluation of the elliptic curve addition selector polynomial

§mul_selector: Evals

evaluation of the elliptic curve variable base scalar multiplication selector polynomial

§emul_selector: Evals

evaluation of the endoscalar multiplication selector polynomial

§endomul_scalar_selector: Evals

evaluation of the endoscalar multiplication scalar computation selector polynomial

§range_check0_selector: Option<Evals>

evaluation of the RangeCheck0 selector polynomial

§range_check1_selector: Option<Evals>

evaluation of the RangeCheck1 selector polynomial

§foreign_field_add_selector: Option<Evals>

evaluation of the ForeignFieldAdd selector polynomial

§foreign_field_mul_selector: Option<Evals>

evaluation of the ForeignFieldMul selector polynomial

§xor_selector: Option<Evals>

evaluation of the Xor selector polynomial

§rot_selector: Option<Evals>

evaluation of the Rot selector polynomial

§lookup_aggregation: Option<Evals>

evaluation of lookup aggregation polynomial

§lookup_table: Option<Evals>

evaluation of lookup table polynomial

§lookup_sorted: [Option<Evals>; 5]

evaluation of lookup sorted polynomials

§runtime_lookup_table: Option<Evals>

evaluation of runtime lookup table polynomial

§runtime_lookup_table_selector: Option<Evals>

evaluation of the runtime lookup table selector polynomial

§xor_lookup_selector: Option<Evals>

evaluation of the Xor range check pattern selector polynomial

§lookup_gate_lookup_selector: Option<Evals>

evaluation of the Lookup range check pattern selector polynomial

§range_check_lookup_selector: Option<Evals>

evaluation of the RangeCheck range check pattern selector polynomial

§foreign_field_mul_lookup_selector: Option<Evals>

evaluation of the ForeignFieldMul range check pattern selector polynomial

Implementations§

source§

impl<Eval> ProofEvaluations<Eval>

source

pub fn map<Eval2, FN: Fn(Eval) -> Eval2>( self, f: &FN ) -> ProofEvaluations<Eval2>

source

pub fn map_ref<Eval2, FN: Fn(&Eval) -> Eval2>( &self, f: &FN ) -> ProofEvaluations<Eval2>

source§

impl<F: Zero + Copy> ProofEvaluations<PointEvaluations<F>>

source§

impl<F: FftField> ProofEvaluations<PointEvaluations<Vec<F>>>

source§

impl<F> ProofEvaluations<F>

source

pub fn get_column(&self, col: Column) -> Option<&F>

Trait Implementations§

source§

impl<Evals: Clone> Clone for ProofEvaluations<Evals>

source§

fn clone(&self) -> ProofEvaluations<Evals>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<F: Copy> ColumnEvaluations<F> for ProofEvaluations<PointEvaluations<F>>

§

type Column = Column

source§

fn evaluate( &self, col: Self::Column ) -> Result<PointEvaluations<F>, ExprError<Self::Column>>

source§

impl<Evals: Debug> Debug for ProofEvaluations<Evals>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Evals> Deserialize<'de> for ProofEvaluations<Evals>where Evals: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<F, CamlF> From<(Option<PointEvaluations<Vec<CamlF, Global>>>, CamlProofEvaluations<CamlF>)> for ProofEvaluations<PointEvaluations<Vec<F>>>where F: Clone + From<CamlF>, CamlF: Clone,

source§

fn from( (public, cpe): (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>) ) -> Self

Converts to this type from the input type.
source§

impl<F, CamlF> From<ProofEvaluations<PointEvaluations<Vec<F, Global>>>> for (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>)where F: Clone, CamlF: From<F>,

source§

fn from(pe: ProofEvaluations<PointEvaluations<Vec<F>>>) -> Self

Converts to this type from the input type.
source§

impl<Evals: PartialEq> PartialEq<ProofEvaluations<Evals>> for ProofEvaluations<Evals>

source§

fn eq(&self, other: &ProofEvaluations<Evals>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Evals> Serialize for ProofEvaluations<Evals>where Evals: Serialize,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Evals> StructuralPartialEq for ProofEvaluations<Evals>

Auto Trait Implementations§

§

impl<Evals> RefUnwindSafe for ProofEvaluations<Evals>where Evals: RefUnwindSafe,

§

impl<Evals> Send for ProofEvaluations<Evals>where Evals: Send,

§

impl<Evals> Sync for ProofEvaluations<Evals>where Evals: Sync,

§

impl<Evals> Unpin for ProofEvaluations<Evals>where Evals: Unpin,

§

impl<Evals> UnwindSafe for ProofEvaluations<Evals>where Evals: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,