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
Fieldis instantiated with vectors with a length that equals the length of the chunk - Non chunked evaluations
Fieldis instantiated with a field, so they are single-sized#serde_as
Fields§
§public: Option<Evals>public input polynomials
w: [Evals; 15]witness polynomials
z: Evalspermutation 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: Evalsevaluation of the generic selector polynomial
poseidon_selector: Evalsevaluation of the poseidon selector polynomial
complete_add_selector: Evalsevaluation of the elliptic curve addition selector polynomial
mul_selector: Evalsevaluation of the elliptic curve variable base scalar multiplication selector polynomial
emul_selector: Evalsevaluation of the endoscalar multiplication selector polynomial
endomul_scalar_selector: Evalsevaluation 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>
impl<Eval> ProofEvaluations<Eval>
Source§impl<F: Zero + Copy> ProofEvaluations<PointEvaluations<F>>
impl<F: Zero + Copy> ProofEvaluations<PointEvaluations<F>>
pub fn dummy_with_witness_evaluations( curr: [F; 15], next: [F; 15], ) -> ProofEvaluations<PointEvaluations<F>>
Source§impl<F: FftField> ProofEvaluations<PointEvaluations<Vec<F>>>
impl<F: FftField> ProofEvaluations<PointEvaluations<Vec<F>>>
pub fn combine( &self, pt: &PointEvaluations<F>, ) -> ProofEvaluations<PointEvaluations<F>>
Source§impl<F> ProofEvaluations<F>
impl<F> ProofEvaluations<F>
pub fn get_column(&self, col: Column) -> Option<&F>
Trait Implementations§
Source§impl<Evals: Clone> Clone for ProofEvaluations<Evals>
impl<Evals: Clone> Clone for ProofEvaluations<Evals>
Source§fn clone(&self) -> ProofEvaluations<Evals>
fn clone(&self) -> ProofEvaluations<Evals>
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<F: Copy> ColumnEvaluations<F> for ProofEvaluations<PointEvaluations<F>>
impl<F: Copy> ColumnEvaluations<F> for ProofEvaluations<PointEvaluations<F>>
Source§impl<Evals: Debug> Debug for ProofEvaluations<Evals>
impl<Evals: Debug> Debug for ProofEvaluations<Evals>
Source§impl<'de, Evals> Deserialize<'de> for ProofEvaluations<Evals>where
Evals: Deserialize<'de>,
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>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<F, CamlF> From<(Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>)> for ProofEvaluations<PointEvaluations<Vec<F>>>
impl<F, CamlF> From<(Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>)> for ProofEvaluations<PointEvaluations<Vec<F>>>
Source§fn from(
(public, cpe): (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>),
) -> Self
fn from( (public, cpe): (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>), ) -> Self
Source§impl<F, CamlF> From<ProofEvaluations<PointEvaluations<Vec<F>>>> for (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>)
impl<F, CamlF> From<ProofEvaluations<PointEvaluations<Vec<F>>>> for (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>)
Source§fn from(pe: ProofEvaluations<PointEvaluations<Vec<F>>>) -> Self
fn from(pe: ProofEvaluations<PointEvaluations<Vec<F>>>) -> Self
Source§impl<Evals: PartialEq> PartialEq for ProofEvaluations<Evals>
impl<Evals: PartialEq> PartialEq for ProofEvaluations<Evals>
Source§impl<Evals> Serialize for ProofEvaluations<Evals>where
Evals: Serialize,
impl<Evals> Serialize for ProofEvaluations<Evals>where
Evals: Serialize,
impl<Evals> StructuralPartialEq for ProofEvaluations<Evals>
Auto Trait Implementations§
impl<Evals> Freeze for ProofEvaluations<Evals>where
Evals: Freeze,
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§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)