pub enum BitVecOp {
Show 17 variants
And,
Or,
Xor,
Not,
Shl,
Shr,
AShr,
Add,
Sub,
Mul,
SDiv,
SRem,
ULt,
SLt,
ULe,
SLe,
Eq,
}Expand description
Bitvector operations for hardware verification.
These map directly to Z3’s bitvector theory operations.
Variants§
And
Or
Xor
Not
Shl
Shr
AShr
Arithmetic shift right (sign-extending).
Add
Sub
Mul
SDiv
Signed division, truncating toward zero (matches Rust i64 /).
SRem
Signed remainder, sign following the dividend (matches Rust i64 %).
ULt
Unsigned less than.
SLt
Signed less than.
ULe
Unsigned less than or equal.
SLe
Signed less than or equal.
Eq
Bitvector equality.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for BitVecOp
impl<'de> Deserialize<'de> for BitVecOp
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for BitVecOp
impl Eq for BitVecOp
impl StructuralPartialEq for BitVecOp
Auto Trait Implementations§
impl Freeze for BitVecOp
impl RefUnwindSafe for BitVecOp
impl Send for BitVecOp
impl Sync for BitVecOp
impl Unpin for BitVecOp
impl UnsafeUnpin for BitVecOp
impl UnwindSafe for BitVecOp
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