pub struct B129 { /* private fields */ }
Trait Implementations§
Source§impl BV for B129
impl BV for B129
const BIT_ONE: Self
const BIT_ZERO: Self
Source§const MAX_WIDTH: u32 = 129u32
const MAX_WIDTH: u32 = 129u32
In Isla concrete bitvectors are only represented up to a
specific maximum width/length. Beyond this they will be
promoted to symbolic variables which are equal to a concrete
value represented in the SMT solver. This makes computation
over concrete bitvectors below this max width very efficient,
as they can be represented as simple Copy types like
u64
.fn new(bits: u64, len: u32) -> Self
fn len(self) -> u32
fn lower_u64(self) -> u64
fn lower_u8(self) -> u8
fn is_zero(self) -> bool
fn leading_zeros(self) -> u32
fn from_u8(value: u8) -> Self
fn from_u16(value: u16) -> Self
fn from_u32(value: u32) -> Self
fn from_u64(value: u64) -> Self
Source§fn from_bytes(bytes: &[u8]) -> Self
fn from_bytes(bytes: &[u8]) -> Self
Byte order is: from_bytes(&[0xAB, 0xCD, 0xEF] == 0xABCDEF Read more
fn to_le_bytes(self) -> Vec<u8> ⓘ
fn to_be_bytes(self) -> Vec<u8> ⓘ
Source§fn zero_extend(self, new_len: u32) -> Self
fn zero_extend(self, new_len: u32) -> Self
zero_extend a bitvector to a specific new length. Read more
Source§fn sign_extend(self, new_len: u32) -> Self
fn sign_extend(self, new_len: u32) -> Self
sign_extend a bitvector to a specific new length. Sign
extending a zero-length bitvector creates a
new_len
sized
bitvector containing only zeros. Read morefn unsigned(self) -> i128
fn signed(self) -> i128
fn slice(self, from: u32, len: u32) -> Option<Self>
Source§fn from_str(bv: &str) -> Option<Self>
fn from_str(bv: &str) -> Option<Self>
Parses a bitvector from a string slice. String must be
prefixed by either #x/0x, or #b/0b (allowing both SMT style
and Sail/C style prefixes) for hexadecimal or binary. Returns
None
if the string is not parseable for any reasonfn add_i128(self, op: i128) -> Self
fn set_slice(self, n: u32, update: Self) -> Self
fn set_slice_int(int: i128, n: u32, update: Self) -> i128
fn get_slice_int(len: u32, int: i128, n: u32) -> Self
fn len_i128(self) -> i128
fn is_empty(self) -> bool
fn sub_i128(self, op: i128) -> Self
fn append(self, suffix: Self) -> Option<Self>
fn extract(self, high: u32, low: u32) -> Option<Self>
fn shiftr(self, shift: i128) -> Self
fn arith_shiftr(self, shift: i128) -> Self
fn shiftl(self, shift: i128) -> Self
fn truncate_lsb(self, len: i128) -> Option<Self>
fn replicate(self, times: i128) -> Option<Self>
Source§impl<'de> Deserialize<'de> for B129
impl<'de> Deserialize<'de> for B129
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 B129
impl Eq for B129
impl StructuralPartialEq for B129
Auto Trait Implementations§
impl Freeze for B129
impl RefUnwindSafe for B129
impl Send for B129
impl Sync for B129
impl Unpin for B129
impl UnwindSafe for B129
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.