pub struct IdealCollector<I: Ideal> {
pub ideals: Vec<IdealOrZero<I>>,
}Expand description
A ConstraintBuilder that collects
ideals used in a Uair.
Fields§
§ideals: Vec<IdealOrZero<I>>Implementations§
Trait Implementations§
Source§impl<I> ConstraintBuilder for IdealCollector<I>where
I: Ideal,
impl<I> ConstraintBuilder for IdealCollector<I>where
I: Ideal,
Source§type Expr = DummySemiring
type Expr = DummySemiring
The expressions the constraint builder operates on.
It is opaque from the PoV of an AIR apart from
the fact that arithmetic operations are available on it
and one can check if an expression is in an ideal.
Source§type Ideal = IdealOrZero<I>
type Ideal = IdealOrZero<I>
The type of ideals used by the constraint builder.
Source§fn assert_in_ideal(&mut self, _expr: Self::Expr, ideal: &Self::Ideal)
fn assert_in_ideal(&mut self, _expr: Self::Expr, ideal: &Self::Ideal)
Add a constraint saying that
expr belongs to the ideal ideal.Source§fn assert_zero(&mut self, _expr: Self::Expr)
fn assert_zero(&mut self, _expr: Self::Expr)
Add a constraint saying that
expr is equal to zero which is
the same as saying that expr belongs to the zero ideal.Auto Trait Implementations§
impl<I> Freeze for IdealCollector<I>
impl<I> RefUnwindSafe for IdealCollector<I>where
I: RefUnwindSafe,
impl<I> Send for IdealCollector<I>
impl<I> Sync for IdealCollector<I>
impl<I> Unpin for IdealCollector<I>where
I: Unpin,
impl<I> UnsafeUnpin for IdealCollector<I>
impl<I> UnwindSafe for IdealCollector<I>where
I: UnwindSafe,
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> 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