pub struct Lin<Id>(/* private fields */);Expand description
Represents a type-level positive, linear expression ex: 2a + 3b + 4c + 5 The invariant is that multipliers are non-zero
Implementations§
Trait Implementations§
Source§impl<T: Ord> AddAssign for Lin<T>
impl<T: Ord> AddAssign for Lin<T>
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
Add two linear terms
Source§impl<Id: Ord> Ord for Lin<Id>
impl<Id: Ord> Ord for Lin<Id>
Source§impl<Id: PartialOrd> PartialOrd for Lin<Id>
impl<Id: PartialOrd> PartialOrd for Lin<Id>
Source§impl<'a, D, A, T> Pretty<'a, D, A> for Lin<T>
impl<'a, D, A, T> Pretty<'a, D, A> for Lin<T>
Source§fn pretty(self, allocator: &'a D) -> DocBuilder<'a, D, A>
fn pretty(self, allocator: &'a D) -> DocBuilder<'a, D, A>
Converts
self into a documentSource§impl<T: Ord + Display + Clone> Specializable<T, u8> for Lin<T>
Specialize a linear term by substituting a variable
impl<T: Ord + Display + Clone> Specializable<T, u8> for Lin<T>
Specialize a linear term by substituting a variable
impl<Id: Eq> Eq for Lin<Id>
impl<Id> StructuralPartialEq for Lin<Id>
Auto Trait Implementations§
impl<Id> Freeze for Lin<Id>
impl<Id> RefUnwindSafe for Lin<Id>where
Id: RefUnwindSafe,
impl<Id> Send for Lin<Id>where
Id: Send,
impl<Id> Sync for Lin<Id>where
Id: Sync,
impl<Id> Unpin for Lin<Id>
impl<Id> UnwindSafe for Lin<Id>where
Id: RefUnwindSafe,
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