pub struct StepUp { /* private fields */ }
Expand description
Represents a multilinear F2-polynomial whose evaluations over the hypercube are 0 until a specified index where they change to 1.
If the index is the length of the multilinear, then all coefficients are 0.
(1 << n_vars)
<-------------------->
0,0 .. 0,0,1,1, .. 1,1
^
index of first 1
This is useful for making constraints that are not enforced at the first rows of the trace
Implementations§
Trait Implementations§
Source§impl DeserializeBytes for StepUp
impl DeserializeBytes for StepUp
fn deserialize(
read_buf: impl Buf,
mode: SerializationMode,
) -> Result<Self, SerializationError>where
Self: Sized,
Source§impl<F: Field> MultivariatePoly<F> for StepUp
impl<F: Field> MultivariatePoly<F> for StepUp
Source§fn evaluate(&self, query: &[F]) -> Result<F, Error>
fn evaluate(&self, query: &[F]) -> Result<F, Error>
Evaluate the polynomial at a point in the extension field.
Source§fn binary_tower_level(&self) -> usize
fn binary_tower_level(&self) -> usize
Returns the maximum binary tower level of all constants in the arithmetic expression.
Source§fn erased_serialize(
&self,
write_buf: &mut dyn BufMut,
mode: SerializationMode,
) -> Result<(), SerializationError>
fn erased_serialize( &self, write_buf: &mut dyn BufMut, mode: SerializationMode, ) -> Result<(), SerializationError>
Serialize a type erased MultivariatePoly.
Since not every MultivariatePoly implements serialization, this defaults to returning an error.
Source§impl SerializeBytes for StepUp
impl SerializeBytes for StepUp
fn serialize( &self, write_buf: impl BufMut, mode: SerializationMode, ) -> Result<(), SerializationError>
Auto Trait Implementations§
impl Freeze for StepUp
impl RefUnwindSafe for StepUp
impl Send for StepUp
impl Sync for StepUp
impl Unpin for StepUp
impl UnwindSafe for StepUp
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