Struct winter_prover::proof::OodFrame
source · pub struct OodFrame { /* private fields */ }Expand description
Trace and constraint polynomial evaluations at an out-of-domain point.
This struct contains the following evaluations:
- Evaluations of all trace polynomials at z.
- Evaluations of all trace polynomials at z * g.
- Evaluations of constraint composition column polynomials at z.
where z is an out-of-domain point and g is the generator of the trace domain.
Internally, the evaluations are stored as a sequence of bytes. Thus, to retrieve the evaluations, parse() function should be used.
Implementations§
source§impl OodFrame
impl OodFrame
sourcepub fn set_trace_states<E>(&mut self, trace_states: &[Vec<E>]) -> Vec<E>where
E: FieldElement,
pub fn set_trace_states<E>(&mut self, trace_states: &[Vec<E>]) -> Vec<E>where
E: FieldElement,
Updates the trace state portion of this out-of-domain frame. This also returns a compacted version of the out-of-domain frame with the rows interleaved. This is done so that reseeding of the random coin needs to be done only once as opposed to once per each row.
§Panics
Panics if evaluation frame has already been set.
sourcepub fn set_constraint_evaluations<E>(&mut self, evaluations: &[E])where
E: FieldElement,
pub fn set_constraint_evaluations<E>(&mut self, evaluations: &[E])where
E: FieldElement,
Updates constraint evaluation portion of this out-of-domain frame.
§Panics
Panics if:
- Constraint evaluations have already been set.
evaluationsis an empty vector.
sourcepub fn parse<E>(
self,
main_trace_width: usize,
aux_trace_width: usize,
num_evaluations: usize
) -> Result<(Vec<E>, Vec<E>), DeserializationError>where
E: FieldElement,
pub fn parse<E>(
self,
main_trace_width: usize,
aux_trace_width: usize,
num_evaluations: usize
) -> Result<(Vec<E>, Vec<E>), DeserializationError>where
E: FieldElement,
Returns main and auxiliary (if any) trace evaluation frames and a vector of out-of-domain
constraint evaluations contained in self.
§Panics
Panics if either main_trace_width or num_evaluations are equal to zero.
§Errors
Returns an error if:
- Valid [EvaluationFrame]s for the specified
main_trace_widthandaux_trace_widthcould not be parsed from the internal bytes. - A vector of evaluations specified by
num_evaluationscould not be parsed from the internal bytes. - Any unconsumed bytes remained after the parsing was complete.
Trait Implementations§
source§impl Deserializable for OodFrame
impl Deserializable for OodFrame
source§fn read_from<R>(source: &mut R) -> Result<OodFrame, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<OodFrame, DeserializationError>where
R: ByteReader,
Reads a OOD frame from the specified source and returns the result
§Errors
Returns an error of a valid OOD frame could not be read from the specified source.
source§fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
source§impl PartialEq for OodFrame
impl PartialEq for OodFrame
source§impl Serializable for OodFrame
impl Serializable for OodFrame
source§fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Serializes self and writes the resulting bytes into the target.
source§fn get_size_hint(&self) -> usize
fn get_size_hint(&self) -> usize
Returns an estimate of how many bytes are needed to represent self.