pub enum InoutSegment {
Public,
Hidden,
}Expand description
Which of the two value-vector segments holds the inout values.
The constants are always public and the private values always hidden, so this is the only freedom in where the segment boundary falls. A proving protocol picks the placement that suits how its verifier learns the inout words, and passes it to every accessor that reports a segment length.
Variants§
Public
The inout values are public: the verifier knows every one of them, so the reduction reads them as shared data and nothing about them is committed.
Hidden
The inout values are hidden: they are committed with the private values.
This is what a data-parallel protocol needs. Each instance chooses its own inout words, so they are not one set of shared values the verifier can evaluate.
Trait Implementations§
Source§impl Clone for InoutSegment
impl Clone for InoutSegment
Source§fn clone(&self) -> InoutSegment
fn clone(&self) -> InoutSegment
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 InoutSegment
impl Debug for InoutSegment
Source§impl PartialEq for InoutSegment
impl PartialEq for InoutSegment
Source§fn eq(&self, other: &InoutSegment) -> bool
fn eq(&self, other: &InoutSegment) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for InoutSegment
impl Eq for InoutSegment
impl StructuralPartialEq for InoutSegment
Auto Trait Implementations§
impl Freeze for InoutSegment
impl RefUnwindSafe for InoutSegment
impl Send for InoutSegment
impl Sync for InoutSegment
impl Unpin for InoutSegment
impl UnsafeUnpin for InoutSegment
impl UnwindSafe for InoutSegment
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