pub struct SizedValue { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Clone for SizedValue
impl Clone for SizedValue
Source§fn clone(&self) -> SizedValue
fn clone(&self) -> SizedValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SizedValue
Source§impl Debug for SizedValue
impl Debug for SizedValue
Source§impl DomainValue for SizedValue
impl DomainValue for SizedValue
Source§fn value(&self) -> Result<u64, EmulatorErrorKind>
fn value(&self) -> Result<u64, EmulatorErrorKind>
Attempt to read this value as a little-endian unsigned integer.
fn from_u64(value: u64) -> Self
Source§fn zero(size: usize) -> Self
fn zero(size: usize) -> Self
Creates an all-zero value at
size bytes. Domains that track width
should override this; the default preserves compatibility for domains
that only have a machine-word zero representation.fn is_float_nan(&self) -> Result<Self, EmulatorErrorKind>
fn int_to_float(&self, size: usize) -> Result<Self, EmulatorErrorKind>
fn float_to_float(&self, size: usize) -> Result<Self, EmulatorErrorKind>
fn float_to_int(&self, size: usize) -> Result<Self, EmulatorErrorKind>
fn zext(&self, size: usize) -> Result<Self, EmulatorErrorKind>
fn sext(&self, size: usize) -> Result<Self, EmulatorErrorKind>
fn range(&self, start: usize, size: usize) -> Result<Self, EmulatorErrorKind>
fn byte_swap(&self) -> Result<Self, EmulatorErrorKind>
Source§fn intrinsic(
id: IntrinsicId,
args: &[Self],
out_size: usize,
) -> Result<Self, EmulatorErrorKind>
fn intrinsic( id: IntrinsicId, args: &[Self], out_size: usize, ) -> Result<Self, EmulatorErrorKind>
Evaluate a pure intrinsic on its concrete operands, producing an
out_size-byte result via the intrinsic’s shared evaluator.fn pop_count(&self) -> Result<Self, EmulatorErrorKind>
fn lz_count(&self) -> Result<Self, EmulatorErrorKind>
fn carry(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn scarry(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn sborrow(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_not(&self) -> Result<Self, EmulatorErrorKind>
fn int_negate(&self) -> Result<Self, EmulatorErrorKind>
fn float_negate(&self) -> Result<Self, EmulatorErrorKind>
fn float_abs(&self) -> Result<Self, EmulatorErrorKind>
fn float_sqrt(&self) -> Result<Self, EmulatorErrorKind>
fn float_ceil(&self) -> Result<Self, EmulatorErrorKind>
fn float_floor(&self) -> Result<Self, EmulatorErrorKind>
fn float_round(&self) -> Result<Self, EmulatorErrorKind>
fn int_equal(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_not_equal(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_less(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_sless(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_less_equal(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_sless_equal(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_add(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_sub(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_xor(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_and(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_or(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_shift_left(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_shift_right(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_sshift_right(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_mul(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_div(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_rem(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_sdiv(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn int_srem(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_add(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_sub(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_mul(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_div(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_equal(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_not_equal(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_less(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
fn float_less_equal(&self, other: &Self) -> Result<Self, EmulatorErrorKind>
Auto Trait Implementations§
impl Freeze for SizedValue
impl RefUnwindSafe for SizedValue
impl Send for SizedValue
impl Sync for SizedValue
impl Unpin for SizedValue
impl UnsafeUnpin for SizedValue
impl UnwindSafe for SizedValue
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