pub enum EvalcheckHint {
NewClaim,
DuplicateClaim(u32),
}
Expand description
A hint is an instruction that the prover sends to the verifier, instructing them how to check the current claim efficiently.
There are many scenarios, based on the structure of the multilinear oracle set, where multiple evaluation claims reduce to the same subclaim. Deduplicating these and ensuring that the verifier only checks them once is an important performance feature. The data structures a verifier would need to deduplicate on their its own are complex, and so instead the prover sends hints to the verifier if it can check a claim more efficiently by reusing work.
Variants§
Trait Implementations§
Source§impl Clone for EvalcheckHint
impl Clone for EvalcheckHint
Source§fn clone(&self) -> EvalcheckHint
fn clone(&self) -> EvalcheckHint
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for EvalcheckHint
impl Debug for EvalcheckHint
Source§impl PartialEq for EvalcheckHint
impl PartialEq for EvalcheckHint
impl Eq for EvalcheckHint
impl StructuralPartialEq for EvalcheckHint
Auto Trait Implementations§
impl Freeze for EvalcheckHint
impl RefUnwindSafe for EvalcheckHint
impl Send for EvalcheckHint
impl Sync for EvalcheckHint
impl Unpin for EvalcheckHint
impl UnwindSafe for EvalcheckHint
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more