Enum falcon::il::Expression [] [src]

pub enum Expression {
    Scalar(Scalar),
    Constant(Constant),
    Add(Box<Expression>, Box<Expression>),
    Sub(Box<Expression>, Box<Expression>),
    Mul(Box<Expression>, Box<Expression>),
    Divu(Box<Expression>, Box<Expression>),
    Modu(Box<Expression>, Box<Expression>),
    Divs(Box<Expression>, Box<Expression>),
    Mods(Box<Expression>, Box<Expression>),
    And(Box<Expression>, Box<Expression>),
    Or(Box<Expression>, Box<Expression>),
    Xor(Box<Expression>, Box<Expression>),
    Shl(Box<Expression>, Box<Expression>),
    Shr(Box<Expression>, Box<Expression>),
    Cmpeq(Box<Expression>, Box<Expression>),
    Cmpneq(Box<Expression>, Box<Expression>),
    Cmplts(Box<Expression>, Box<Expression>),
    Cmpltu(Box<Expression>, Box<Expression>),
    Zext(usizeBox<Expression>),
    Sext(usizeBox<Expression>),
    Trun(usizeBox<Expression>),
}

An IL Expression.

Variants

Methods

impl Expression
[src]

[src]

Return the bitness of this expression.

[src]

Returns all Scalars used in this Expression

[src]

Return mutable references to all Scalars in this Expression.

[src]

Create a new Expression from a Scalar.

[src]

Create a new Expression from a Constant.

[src]

Create an addition Expression.

Error

The sort of the lhs and the rhs are not the same

[src]

Create a subtraction Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create an unsigned multiplication Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create an unsigned division Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create an unsigned modulus Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a signed division Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a signed modulus Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a binary and Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a binary or Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a binary xor Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a logical shift-left Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a logical shift-right Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create an equals comparison Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create an not equals comparison Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create an unsigned less-than comparison Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create a signed less-than comparison Expression.

Error

The sort of the lhs and the rhs are not the same.

[src]

Create an expression to zero-extend src to the number of bits specified in bits.

Error

src has more or equal number of bits than bits

[src]

Create an expression to sign-extend src to the number of bits specified

Error

src has more or equal number of bits than bits

[src]

Create an expression to truncate the number of bits in src to the number of bits given.

Error

src has less-than or equal bits than bits

Trait Implementations

impl Clone for Expression
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Expression
[src]

[src]

Formats the value using the given formatter.

impl Eq for Expression
[src]

impl Hash for Expression
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Ord for Expression
[src]

[src]

This method returns an Ordering between self and other. Read more

1.22.0
[src]

Compares and returns the maximum of two values. Read more

1.22.0
[src]

Compares and returns the minimum of two values. Read more

impl PartialEq for Expression
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl PartialOrd for Expression
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Display for Expression
[src]

[src]

Formats the value using the given formatter. Read more