isomatch
Classes | Public Member Functions | Protected Member Functions | List of all members
CircuitAssert Class Reference

#include <circuitAssert.h>

Inheritance diagram for CircuitAssert:
CircuitTree

Classes

class  InnerIoIter
 

Public Member Functions

IoIter inp_begin () const
 
IoIter out_begin () const
 
IoIter out_end () const
 
 CircuitAssert (const std::string &name, ExpressionBase *expr)
 
virtual ~CircuitAssert ()
 
CircType circType () const
 
void addInput (WireId *wire)
 Adds wire as the next input for this gate. More...
 
const std::vector< WireId * > & inputs () const
 
const ExpressionBaseexpression () const
 
const std::string name () const
 
size_t inputCount () const
 Get the number of inputs. More...
 
size_t outputCount () const
 Get the number of outputs. More...
 
WireIdnth_input (size_t circId) const
 Get the nth input. More...
 
WireIdnth_output (size_t circId) const
 Get the nth input. More...
 
void toDot (std::basic_ostream< char > &out, int indent=0)
 
- Public Member Functions inherited from CircuitTree
 CircuitTree ()
 
virtual ~CircuitTree ()
 
sign_t sign (int level=2)
 
bool equals (CircuitTree *oth)
 
bool operator== (const CircuitTree &oth) const
 
CircuitGroupancestor ()
 
size_t id () const
 
IoIter inp_end () const
 
IoIter io_begin () const
 
IoIter io_end () const
 
virtual void unplug ()
 Unplug the circuit from its ancestor. More...
 
void alter (bool uprec=true)
 

Protected Member Functions

virtual sign_t innerSignature () const
 
virtual bool innerEqual (CircuitTree *othTree)
 
- Protected Member Functions inherited from CircuitTree
virtual sign_t computeSignature (int level)
 
void unplug_common ()
 Common steps for every overridden implementation of unplug More...
 

Additional Inherited Members

- Public Types inherited from CircuitTree
enum  CircType {
  CIRC_GROUP, CIRC_COMB, CIRC_DELAY, CIRC_TRI,
  CIRC_ASSERT
}
 
- Protected Types inherited from CircuitTree
typedef size_t memo_ts_t
 
- Protected Attributes inherited from CircuitTree
memo_ts_t curHistoryTime
 Current history "timestamp" for this circuit, used for memoization. More...
 
memo_ts_t lastAlterationTime
 
std::vector< MemoSignmemoSig
 
CircuitGroupancestor_
 

Constructor & Destructor Documentation

◆ CircuitAssert()

CircuitAssert::CircuitAssert ( const std::string &  name,
ExpressionBase expr 
)

◆ ~CircuitAssert()

CircuitAssert::~CircuitAssert ( )
virtual

Deletes the gate's expression

Member Function Documentation

◆ addInput()

void CircuitAssert::addInput ( WireId wire)

Adds wire as the next input for this gate.

◆ circType()

CircType CircuitAssert::circType ( ) const
inlinevirtual

Returns the tree element's type

Implements CircuitTree.

◆ expression()

const ExpressionBase* CircuitAssert::expression ( ) const
inline

Gate's expression

◆ innerEqual()

bool CircuitAssert::innerEqual ( CircuitTree othTree)
protectedvirtual

Computes the actual equality of two gates, assumed of the same type

Implements CircuitTree.

◆ innerSignature()

sign_t CircuitAssert::innerSignature ( ) const
protectedvirtual

Computes the inner signature of a gate. This should be reimplemented for every gate type.

Implements CircuitTree.

◆ inp_begin()

IoIter CircuitAssert::inp_begin ( ) const
inlinevirtual

Get an iterator to the first input wire

Implements CircuitTree.

◆ inputCount()

size_t CircuitAssert::inputCount ( ) const
virtual

Get the number of inputs.

Implements CircuitTree.

◆ inputs()

const std::vector<WireId*>& CircuitAssert::inputs ( ) const
inline

Gate's inputs

◆ name()

const std::string CircuitAssert::name ( ) const
inline

Get gate's name

◆ nth_input()

WireId * CircuitAssert::nth_input ( size_t  circId) const
virtual

Get the nth input.

Implements CircuitTree.

◆ nth_output()

WireId * CircuitAssert::nth_output ( size_t  circId) const
virtual

Get the nth input.

Implements CircuitTree.

◆ out_begin()

IoIter CircuitAssert::out_begin ( ) const
inlinevirtual

Get an iterator to the first output wire

Implements CircuitTree.

◆ out_end()

IoIter CircuitAssert::out_end ( ) const
inlinevirtual

Get an iterator to the end of output wires

Implements CircuitTree.

◆ outputCount()

size_t CircuitAssert::outputCount ( ) const
virtual

Get the number of outputs.

Implements CircuitTree.

◆ toDot()

void CircuitAssert::toDot ( std::basic_ostream< char > &  out,
int  indent = 0 
)
virtual

Generates a Dot representation of the circuit, primarily intended for debugging.

Implements CircuitTree.


The documentation for this class was generated from the following files: