[][src]Enum gf::support::bitvec::BitVecOperator

pub enum BitVecOperator {
    Add,
    AddSO,
    AddUO,
    And,
    Concat,
    Dec,
    DivS,
    DivSO,
    DivU,
    Eq,
    ExtS(usize),
    ExtU(usize),
    GtS,
    GtU,
    GteS,
    GteU,
    Iff,
    Implies,
    Inc,
    Ite,
    LtS,
    LtU,
    LteS,
    LteU,
    ModS,
    Mul,
    MulSO,
    MulUO,
    Nand,
    Ne,
    Neg,
    Nor,
    Not,
    Or,
    RedAnd,
    RedOr,
    RedXor,
    Repeat(usize),
    RemS,
    RemU,
    Rol,
    Ror,
    Slice(usizeusize),
    Sll,
    Sra,
    Srl,
    Sub,
    SubSO,
    SubUO,
    Xnor,
    Xor,
}

Bit vector operator enumeration.

Variants

Add

Wrapping integer addition.

AddSO

Signed integer addition overflow indicator.

AddUO

Unsigned integer addition overflow indicator.

And

Bitwise AND.

Concat

Concatenation of two bit vectors.

Dec

Wrapping integer decrement.

DivS

Signed integer division.

DivSO

Signed integer division overflow indicator.

DivU

Unsigned integer division.

Eq

Equality indicator.

ExtS(usize)

Signed extension, adds given number of sign bit copies.

ExtU(usize)

Unsigned extension, adds given number of zero bits.

GtS

Signed greater-than indicator.

GtU

Unsigned greater-than indicator.

GteS

Signed greater-than-or-equal indicator.

GteU

Unsigned greater-than-or-equal indicator.

Iff

Boolean equivalence.

Implies

Boolean implication.

Inc

Wrapping integer increment.

Ite

If-then-else.

LtS

Signed less-than indicator.

LtU

Unsigned less-than indicator.

LteS

Signed less-than-or-equal indicator.

LteU

Unsigned less-than-or-equal indicator.

ModS

Signed integer modulo, sign of result matches sign of divisor.

Mul

Truncating integer multiplication.

MulSO

Signed integer multiplication overflow indicator.

MulUO

Unsigned integer multiplication overflow indicator.

Nand

Bitwise NAND.

Ne

Inequality indicator.

Neg

Signed integer negation.

Nor

Bitwise NOR.

Not

Bitwise inversion.

Or

Bitwise OR.

RedAnd

Bitwise AND-reduction.

RedOr

Bitwise OR-reduction.

RedXor

Bitwise XOR-reduction.

Repeat(usize)

Repetition.

RemS

Signed integer remainder.

RemU

Unsigned integer remainder.

Rol

Left rotation.

Ror

Right rotation.

Slice(usizeusize)

Bit slice, Slice(a, b) for bits from the [a; b) half-open interval.

Sll

Left shift.

Sra

Right arithmetic shift.

Srl

Right logical shift.

Sub

Wrapping integer subtraction.

SubSO

Signed integer subtraction overflow indicator.

SubUO

Unsigned integer subtraction overflow indicator.

Xnor

Bitwise XNOR.

Xor

Bitwise XOR.

Methods

impl BitVecOperator[src]

pub fn signature(self) -> BitVecOperatorSignature[src]

Return operator signature.

pub fn apply<'a, I>(self, operands: I) -> Result<BitVec, BitVecOperatorError> where
    I: IntoIterator<Item = &'a BitVec>, 
[src]

Apply operator to BitVec operands.

Trait Implementations

impl Clone for BitVecOperator[src]

impl Copy for BitVecOperator[src]

impl Eq for BitVecOperator[src]

impl PartialEq<BitVecOperator> for BitVecOperator[src]

impl Debug for BitVecOperator[src]

impl Hash for BitVecOperator[src]

impl StructuralPartialEq for BitVecOperator[src]

impl StructuralEq for BitVecOperator[src]

Auto Trait Implementations

impl Send for BitVecOperator

impl Sync for BitVecOperator

impl Unpin for BitVecOperator

impl UnwindSafe for BitVecOperator

impl RefUnwindSafe for BitVecOperator

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]