Enum air_parser::ast::SourceSection
source · 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
impl Debug for SourceSection
source§impl PartialEq<SourceSection> for SourceSection
impl PartialEq<SourceSection> for SourceSection
source§fn eq(&self, other: &SourceSection) -> bool
fn eq(&self, other: &SourceSection) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.