#[non_exhaustive]pub enum MOp {
}Expand description
An operator of the MBA fragment.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Const(BitVec)
A constant.
Var(u32)
Variable i (an atom of the original expression).
Add
a + b.
Sub
a - b.
Mul
a * b.
Neg
-a.
And
a & b.
Or
a | b.
Xor
a ^ b.
Not
~a.
Shl(u16)
a << k for a constant k below the width.
LShr(u16)
a >>u k for a constant k below the width.
Zext
Zero extension to the node’s width.
Sext
Sign extension to the node’s width.
Trunc
The low bits of a, at the node’s width.
Implementations§
Trait Implementations§
impl Copy for MOp
impl Eq for MOp
impl StructuralPartialEq for MOp
Auto Trait Implementations§
impl Freeze for MOp
impl RefUnwindSafe for MOp
impl Send for MOp
impl Sync for MOp
impl Unpin for MOp
impl UnsafeUnpin for MOp
impl UnwindSafe for MOp
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