pub trait BaseAirBuilder: AirBuilder + MessageBuilder<AirInteraction<Self::Expr>> {
// Provided methods
fn when_not<I: Into<Self::Expr>>(
&mut self,
condition: I,
) -> FilteredAirBuilder<'_, Self> { ... }
fn assert_all_eq<I1: Into<Self::Expr>, I2: Into<Self::Expr>>(
&mut self,
left: impl IntoIterator<Item = I1>,
right: impl IntoIterator<Item = I2>,
) { ... }
fn assert_all_zero<I: Into<Self::Expr>>(
&mut self,
iter: impl IntoIterator<Item = I>,
) { ... }
fn if_else(
&mut self,
condition: impl Into<Self::Expr> + Clone,
a: impl Into<Self::Expr> + Clone,
b: impl Into<Self::Expr> + Clone,
) -> Self::Expr { ... }
fn index_array(
&mut self,
array: &[impl Into<Self::Expr> + Clone],
index_bitmap: &[impl Into<Self::Expr> + Clone],
) -> Self::Expr { ... }
}Expand description
A trait which contains basic methods for building an AIR.
Provided Methods§
Sourcefn when_not<I: Into<Self::Expr>>(
&mut self,
condition: I,
) -> FilteredAirBuilder<'_, Self>
fn when_not<I: Into<Self::Expr>>( &mut self, condition: I, ) -> FilteredAirBuilder<'_, Self>
Returns a sub-builder whose constraints are enforced only when condition is not one.
Sourcefn assert_all_eq<I1: Into<Self::Expr>, I2: Into<Self::Expr>>(
&mut self,
left: impl IntoIterator<Item = I1>,
right: impl IntoIterator<Item = I2>,
)
fn assert_all_eq<I1: Into<Self::Expr>, I2: Into<Self::Expr>>( &mut self, left: impl IntoIterator<Item = I1>, right: impl IntoIterator<Item = I2>, )
Asserts that an iterator of expressions are all equal.
Sourcefn assert_all_zero<I: Into<Self::Expr>>(
&mut self,
iter: impl IntoIterator<Item = I>,
)
fn assert_all_zero<I: Into<Self::Expr>>( &mut self, iter: impl IntoIterator<Item = I>, )
Asserts that an iterator of expressions are all zero.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.