[−][src]Enum p8n_types::Operation
A RREIL operation.
Variants
Add(Value, Value)
Integer addition
Subtract(Value, Value)
Integer subtraction
Multiply(Value, Value)
Unsigned integer multiplication
DivideUnsigned(Value, Value)
Unsigned integer division
DivideSigned(Value, Value)
Signed integer division
ShiftLeft(Value, Value)
Bitwise left shift
ShiftRightUnsigned(Value, Value)
Bitwise logical right shift
ShiftRightSigned(Value, Value)
Bitwise arithmetic right shift
Modulo(Value, Value)
Integer modulo
And(Value, Value)
Bitwise logical and
InclusiveOr(Value, Value)
Bitwise logical or
ExclusiveOr(Value, Value)
Bitwise logical xor
Equal(Value, Value)
Compare both operands for equality and returns 1
or 0
LessOrEqualUnsigned(Value, Value)
Returns 1
if the first operand is less than or equal to the second and 0
otherwise.
Comparison assumes unsigned values.
LessOrEqualSigned(Value, Value)
Returns 1
if the first operand is less than or equal to the second and 0
otherwise.
Comparison assumes signed values.
LessUnsigned(Value, Value)
Returns 1
if the first operand is less than the second and 0
otherwise.
Comparison assumes unsigned values.
LessSigned(Value, Value)
Returns 1
if the first operand is less than the second and 0
otherwise.
Comparison assumes signed values.
ZeroExtend(usize, Value)
Zero extends the operand.
SignExtend(usize, Value)
Sign extends the operand.
Move(Value)
Copies the operand without modification.
Initialize(StrRef, usize)
Initializes a global variable.
Select(usize, usize, Value)
Copies only the range [self.0, self.0 + self.1] of bits from the operand.
Assume(Constraint, Value)
Asserts that the second operand is constraint by the first.
Load(Segment, Endianess, usize, Value)
Reads a memory cell
Phi(Value, Value, Value)
SSA Phi function
Methods
impl Operation
[src]
pub fn reads<'x>(&'x self) -> SmallVec<[&'x Value; 3]>
[src]
Returns references values that are read by the operation.
pub fn reads_mut<'x>(&'x mut self) -> SmallVec<[&'x mut Value; 3]>
[src]
Returns mutables references values that are read by the operation.
pub fn execute(&self) -> Result<Value>
[src]
Executes a RREIL operation returning the result.
Trait Implementations
impl Eq for Operation
[src]
impl Clone for Operation
[src]
fn clone(&self) -> Operation
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<Operation> for Operation
[src]
impl Debug for Operation
[src]
impl Arbitrary for Operation
[src]
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<Q, K> Equivalent for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,