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

pub enum BitVecOp {
    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.

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.

Implementations

impl BitVecOp[src]

pub fn from_str(name: &str, params: &[usize]) -> Result<Self, Option<usize>>[src]

Create an operator from its string name and sequence of parameters.

Errors

  • Returns Err(None) if name is not a known operator name.
  • Returns Err(Some(n)) on invalid parameter count, n is the expected count.

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

Return operator signature.

pub fn is_commutative(&self) -> bool[src]

Check whether binary operator is commutative

Trait Implementations

impl Clone for BitVecOp[src]

impl Copy for BitVecOp[src]

impl Debug for BitVecOp[src]

impl Display for BitVecOp[src]

impl Eq for BitVecOp[src]

impl Hash for BitVecOp[src]

impl PartialEq<BitVecOp> for BitVecOp[src]

impl StructuralEq for BitVecOp[src]

impl StructuralPartialEq for BitVecOp[src]

Auto Trait Implementations

impl RefUnwindSafe for BitVecOp

impl Send for BitVecOp

impl Sync for BitVecOp

impl Unpin for BitVecOp

impl UnwindSafe for BitVecOp

Blanket Implementations

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

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

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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.