pub enum SourceSection {
    AirDef(Identifier),
    Constant(Constant),
    Trace(Trace),
    PublicInputs(Vec<PublicInput>),
    PeriodicColumns(Vec<PeriodicColumn>),
    RandomValues(RandomValues),
    BoundaryConstraints(Vec<BoundaryStmt>),
    IntegrityConstraints(Vec<IntegrityStmt>),
}
Expand description

Source is divided into SourceSections. There are 6 types of Source Sections:

  • AirDef: Name of the air constraints module.
  • TraceCols: Trace Columns representing columns of the execution trace.
  • PublicInputs: Public inputs are each represented by a fixed-size array. At least one public input is required, but there is no limit to the number of public inputs that can be specified.
  • PeriodicColumns: Periodic columns are each represented by a fixed-size array with all of its elements specified. The array length is expected to be a power of 2, but this is not checked during parsing.
  • RandomValues: Random Values represent the randomness sent by the Verifier.
  • BoundaryConstraints: Boundary Constraints to be enforced on the boundaries of columns defined in the TraceCols section. Currently there are two types of boundaries, First and Last representing the first and last rows of the column.
  • IntegrityConstraints: Integrity Constraints to be enforced on the trace columns defined in the TraceCols section.

Variants§

§

AirDef(Identifier)

§

Constant(Constant)

§

Trace(Trace)

§

PublicInputs(Vec<PublicInput>)

§

PeriodicColumns(Vec<PeriodicColumn>)

§

RandomValues(RandomValues)

§

BoundaryConstraints(Vec<BoundaryStmt>)

§

IntegrityConstraints(Vec<IntegrityStmt>)

Trait Implementations§

source§

impl Debug for SourceSection

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq<SourceSection> for SourceSection

source§

fn eq(&self, other: &SourceSection) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for SourceSection

source§

impl StructuralEq for SourceSection

source§

impl StructuralPartialEq for SourceSection

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.