ilasynth  1.0
ILASynth: Template-based ILA Synthesis Engine
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Static Private Member Functions | List of all members
ilasynth::BoolOp Class Reference

#include <bool.hpp>

Inheritance diagram for ilasynth::BoolOp:
ilasynth::BoolExpr ilasynth::Node

Public Types

enum  Arity { UNARY, BINARY, TERNARY }
 
enum  Op {
  INVALID, NOT, AND, OR,
  XOR, XNOR, NAND, NOR,
  IMPLY, SLT, SGT, SLE,
  SGE, ULT, UGT, ULE,
  UGE, EQUAL, DISTINCT, IF
}
 

Public Member Functions

 BoolOp (Op op, const nptr_t &n1)
 
 BoolOp (Op op, const nptr_t &n1, const nptr_t &n2)
 
 BoolOp (Op op, nptr_vec_t &args_)
 
 BoolOp (const BoolOp *other, nptr_vec_t &args_)
 
virtual ~BoolOp ()
 
virtual Nodeclone () const
 
virtual bool equal (const Node *that) const
 
virtual std::ostream & write (std::ostream &out) const
 
virtual unsigned nArgs () const
 
virtual nptr_t arg (unsigned i) const
 
Op getOp () const
 
- Public Member Functions inherited from ilasynth::BoolExpr
 BoolExpr ()
 
 BoolExpr (NodeType t)
 
virtual ~BoolExpr ()
 
- Public Member Functions inherited from ilasynth::Node
 Node ()
 
 Node (NodeType t)
 
virtual ~Node ()
 
std::string & getName ()
 
const std::string & getName () const
 
const std::string & getRefName () const
 
void setRefName (const std::string &refN)
 
int getId ()
 
NodeType getType ()
 
virtual py::object getValue () const
 
virtual bool isConstant () const
 
template<class F >
void depthFirstVisit (F &func) const
 
void getSupportVars (nodeset_t &sup)
 
void visit (NodeVisitorI &vi)
 
bool hasSynthesisConstructs () const
 

Static Public Member Functions

static nptr_tnegate (const nptr_t &n, rwmap_t &cache)
 
- Static Public Member Functions inherited from ilasynth::Node
static nptr_t ite (const nptr_t &cond, const nptr_t &t, const nptr_t &f)
 

Public Attributes

enum ilasynth::BoolOp::Arity arity
 
enum ilasynth::BoolOp::Op op
 
nptr_vec_t args
 
- Public Attributes inherited from ilasynth::Node
NodeType type
 

Static Public Attributes

static const std::string operatorNames []
 

Static Private Member Functions

static bool isUnary (Op op)
 
static bool isBinary (Op op)
 
static bool isTernary (Op op)
 
static bool checkUnaryOpTypes (Op op, const nptr_t &n)
 
static bool checkBinaryOpTypes (Op op, const nptr_t &n1, const nptr_t &n2)
 
static int checkTernaryOpTypes (Op op, nptr_vec_t args_)
 

Additional Inherited Members

- Static Protected Member Functions inherited from ilasynth::Node
static void _getSupportVarsHelper (nodeset_t &supp, const Node *n)
 
- Protected Attributes inherited from ilasynth::Node
std::string name
 
std::string refName
 
const int id
 
bool hash_inited
 
size_t hash_value
 

Member Enumeration Documentation

◆ Arity

Enumerator
UNARY 
BINARY 
TERNARY 

◆ Op

Enumerator
INVALID 
NOT 
AND 
OR 
XOR 
XNOR 
NAND 
NOR 
IMPLY 
SLT 
SGT 
SLE 
SGE 
ULT 
UGT 
ULE 
UGE 
EQUAL 
DISTINCT 
IF 

Constructor & Destructor Documentation

◆ BoolOp() [1/4]

ilasynth::BoolOp::BoolOp ( Op  op,
const nptr_t n1 
)

◆ BoolOp() [2/4]

ilasynth::BoolOp::BoolOp ( Op  op,
const nptr_t n1,
const nptr_t n2 
)

◆ BoolOp() [3/4]

ilasynth::BoolOp::BoolOp ( Op  op,
nptr_vec_t args_ 
)

◆ BoolOp() [4/4]

ilasynth::BoolOp::BoolOp ( const BoolOp other,
nptr_vec_t args_ 
)

◆ ~BoolOp()

virtual ilasynth::BoolOp::~BoolOp ( )
virtual

Member Function Documentation

◆ arg()

virtual nptr_t ilasynth::BoolOp::arg ( unsigned  i) const
virtual

Reimplemented from ilasynth::Node.

◆ checkBinaryOpTypes()

static bool ilasynth::BoolOp::checkBinaryOpTypes ( Op  op,
const nptr_t n1,
const nptr_t n2 
)
staticprivate

◆ checkTernaryOpTypes()

static int ilasynth::BoolOp::checkTernaryOpTypes ( Op  op,
nptr_vec_t  args_ 
)
staticprivate

◆ checkUnaryOpTypes()

static bool ilasynth::BoolOp::checkUnaryOpTypes ( Op  op,
const nptr_t n 
)
staticprivate

◆ clone()

virtual Node* ilasynth::BoolOp::clone ( ) const
virtual

Reimplemented from ilasynth::Node.

◆ equal()

virtual bool ilasynth::BoolOp::equal ( const Node that) const
virtual

Reimplemented from ilasynth::Node.

◆ getOp()

Op ilasynth::BoolOp::getOp ( ) const
inline

◆ isBinary()

static bool ilasynth::BoolOp::isBinary ( Op  op)
inlinestaticprivate

◆ isTernary()

static bool ilasynth::BoolOp::isTernary ( Op  op)
inlinestaticprivate

◆ isUnary()

static bool ilasynth::BoolOp::isUnary ( Op  op)
inlinestaticprivate

◆ nArgs()

virtual unsigned ilasynth::BoolOp::nArgs ( ) const
virtual

Reimplemented from ilasynth::Node.

◆ negate()

static nptr_t& ilasynth::BoolOp::negate ( const nptr_t n,
rwmap_t cache 
)
static

◆ write()

virtual std::ostream& ilasynth::BoolOp::write ( std::ostream &  out) const
virtual

Reimplemented from ilasynth::Node.

Member Data Documentation

◆ args

nptr_vec_t ilasynth::BoolOp::args

◆ arity

enum ilasynth::BoolOp::Arity ilasynth::BoolOp::arity

◆ op

enum ilasynth::BoolOp::Op ilasynth::BoolOp::op

◆ operatorNames

const std::string ilasynth::BoolOp::operatorNames[]
static

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