pub struct LinearInequality { /* private fields */ }Expand description
The linear inequality part of a hypercube linear constraint.
Implementations§
Source§impl LinearInequality
impl LinearInequality
Sourcepub fn trivially_false() -> LinearInequality
pub fn trivially_false() -> LinearInequality
Create a linear inequality that is trivially false.
Sourcepub fn new(
terms: impl IntoIterator<Item = (NonZero<i32>, DomainId)>,
bound: i32,
) -> Option<LinearInequality>
pub fn new( terms: impl IntoIterator<Item = (NonZero<i32>, DomainId)>, bound: i32, ) -> Option<LinearInequality>
Construct a new linear inequality.
If the terms simplify to 0 and the bound is at least 0, then None is returned.
Sourcepub fn terms(&self) -> impl Iterator<Item = AffineView<DomainId>>
pub fn terms(&self) -> impl Iterator<Item = AffineView<DomainId>>
Iterate over the terms in the linear inequality.
Sourcepub fn is_trivially_false(&self) -> bool
pub fn is_trivially_false(&self) -> bool
Tests whether the left-hand side simplifies to 0 and the right-hand side is less than 0.
Sourcepub fn term_for_domain(&self, domain: DomainId) -> Option<AffineView<DomainId>>
pub fn term_for_domain(&self, domain: DomainId) -> Option<AffineView<DomainId>>
Get the term for the given domain.
Trait Implementations§
Source§impl Clone for LinearInequality
impl Clone for LinearInequality
Source§fn clone(&self) -> LinearInequality
fn clone(&self) -> LinearInequality
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for LinearInequality
impl RefUnwindSafe for LinearInequality
impl Send for LinearInequality
impl Sync for LinearInequality
impl Unpin for LinearInequality
impl UnwindSafe for LinearInequality
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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