[][src]Enum aiger::Aiger

pub enum Aiger {
    Input(Literal),
    Latch {
        output: Literal,
        input: Literal,
    },
    Output(Literal),
    AndGate {
        output: Literal,
        inputs: [Literal; 2],
    },
    Symbol {
        type_spec: Symbol,
        position: usize,
        symbol: String,
    },
}

A record from an AIGER file.

Variants

Input(Literal)

A literal marked as an input.

Latch

A latch.

Fields of Latch

output: Literal

The literal which receives the latch's current state.

input: Literal

The literal which determines the latch's next state.

Output(Literal)

A literal marked as an output.

AndGate

An AND gate.

Fields of AndGate

output: Literal

The literal which receives the result of the AND operation.

inputs: [Literal; 2]

The literals which are inputs to the AND gate.

Symbol

An entry from the symbol table.

Fields of Symbol

type_spec: Symbol

The type specifier for the symbol.

position: usize

The position in the file of the input/latch/output that this symbol labels.

Though latches are listed in an AIGER file after inputs, and outputs after both inputs and latches, this position value is the index of the record within the records of the same type.

That is:

aag 8 2 2 2 0
// inputs
2     // position = 0
4     // position = 1
// latches
6 8   // position = 0
10 12 // position = 1
// and gates (cannot be assigned symbols)
...
// outputs
14    // position = 0
16    // position = 1
symbol: String

The actual symbol.

Trait Implementations

impl Clone for Aiger[src]

impl Debug for Aiger[src]

impl Eq for Aiger[src]

impl Hash for Aiger[src]

impl PartialEq<Aiger> for Aiger[src]

impl StructuralEq for Aiger[src]

impl StructuralPartialEq for Aiger[src]

Auto Trait Implementations

impl RefUnwindSafe for Aiger

impl Send for Aiger

impl Sync for Aiger

impl Unpin for Aiger

impl UnwindSafe for Aiger

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<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, 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.