pub struct LogupOutput<F> {
pub table_eval_point: Vec<F>,
pub index_eval_point: Vec<F>,
pub tables: Vec<LogupTableOutput<F>>,
}Expand description
The reduced output claims of a logUp* verification.
Each claim must be verified separately by the caller. Verifying them is out of scope here.
The two sides each carry one point, shared by every table, and read it from opposite ends. That is not a choice: the pushforward reduction pads a table at its high variables, while the fractional-addition batch pads a looker at its low ones.
Fields§
§table_eval_point: Vec<F>The point the table and pushforward evaluation claims are drawn from, of max m
coordinates.
A table over m variables is claimed at the first m coordinates. Tables of equal
size therefore all share the whole point; a smaller table’s point is a prefix of a larger
one’s.
index_eval_point: Vec<F>The point the index evaluation claims are drawn from, of max n coordinates.
A looker whose column has n variables is claimed at the last n coordinates. Lookers
of equal length therefore all share the whole point; a shorter looker’s point is a suffix
of a longer one’s, because the batch pads each instance at its low coordinates.
tables: Vec<LogupTableOutput<F>>One entry per table, in the order the tables were given.
Trait Implementations§
Source§impl<F> Clone for LogupOutput<F>where
F: Clone,
impl<F> Clone for LogupOutput<F>where
F: Clone,
Source§fn clone(&self) -> LogupOutput<F>
fn clone(&self) -> LogupOutput<F>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<F> Debug for LogupOutput<F>where
F: Debug,
impl<F> Debug for LogupOutput<F>where
F: Debug,
impl<F> Eq for LogupOutput<F>where
F: Eq,
Source§impl<F> PartialEq for LogupOutput<F>where
F: PartialEq,
impl<F> PartialEq for LogupOutput<F>where
F: PartialEq,
Source§fn eq(&self, other: &LogupOutput<F>) -> bool
fn eq(&self, other: &LogupOutput<F>) -> bool
self and other values to be equal, and is used by ==.impl<F> StructuralPartialEq for LogupOutput<F>where
F: PartialEq,
Auto Trait Implementations§
impl<F> Freeze for LogupOutput<F>
impl<F> RefUnwindSafe for LogupOutput<F>where
F: RefUnwindSafe,
impl<F> Send for LogupOutput<F>where
F: Send,
impl<F> Sync for LogupOutput<F>where
F: Sync,
impl<F> Unpin for LogupOutput<F>where
F: Unpin,
impl<F> UnsafeUnpin for LogupOutput<F>
impl<F> UnwindSafe for LogupOutput<F>where
F: UnwindSafe,
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
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> ⓘ
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> ⓘ
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