CUDD's
zero-suppressed decision diagram structure.
More...
#include <CCuddZDD.h>
Public Types | |
typedef CCuddZDD | self |
Name type of *this. | |
typedef CCuddDDBase< self > | base |
Name the type, which self is inherited from. | |
Public Member Functions | |
CCuddZDD (mgrcore_ptr mgr, node_type bddNode) | |
Construct ZDD from manager core and node. | |
CCuddZDD () | |
Default constructor. | |
CCuddZDD (const self &from) | |
Copy constructor. | |
~CCuddZDD () | |
Destructor. | |
self & | operator= (const self &right) |
Assignment operator. | |
*self | Ite (const self &g, const self &h) const |
If-Then-Else operation using current diagram as head. | |
int | Count () const |
Determine the number of minterms. | |
double | CountDouble () const |
Determine the number of minterms. | |
double | CountMinterm (int path) const |
Counts minterms; takes a path specifing variables number in the support. | |
Logical operations | |
bool | operator== (const self &other) const |
bool | operator!= (const self &other) const |
bool | operator<= (const self &other) const |
bool | operator>= (const self &other) const |
bool | operator< (const self &rhs) const |
bool | operator> (const self &other) const |
Functions for print useful information | |
void | print (int nvars, int verbosity=1) const |
void | PrintMinterm () const |
void | PrintCover () const |
Protected Member Functions | |
void | deref () |
Derefering current diagram node, if unused. | |
Friends | |
class | CCuddInterface |
CUDD's
zero-suppressed decision diagram structure.
The purpose of this wrapper is just to provide an efficient and save way of handling the decision diagrams. It extends CCuddDD for handling ZDDs.
typedef CCuddDDBase<self> polybori::CCuddZDD::base |
Name the type, which self is inherited from.
typedef CCuddZDD polybori::CCuddZDD::self |
polybori::CCuddZDD::CCuddZDD | ( | mgrcore_ptr | mgr, | |
node_type | bddNode | |||
) | [inline] |
Construct ZDD from manager core and node.
polybori::CCuddZDD::CCuddZDD | ( | ) | [inline] |
Default constructor.
polybori::CCuddZDD::CCuddZDD | ( | const self & | from | ) | [inline] |
Copy constructor.
polybori::CCuddZDD::~CCuddZDD | ( | ) | [inline] |
Destructor.
int polybori::CCuddZDD::Count | ( | ) | const [inline] |
Determine the number of minterms.
double polybori::CCuddZDD::CountDouble | ( | ) | const [inline] |
Determine the number of minterms.
double polybori::CCuddZDD::CountMinterm | ( | int | path | ) | const [inline] |
Counts minterms; takes a path specifing variables number in the support.
void polybori::CCuddZDD::deref | ( | ) | [inline, protected] |
If-Then-Else operation using current diagram as head.
BOOST_PP_SEQ_FOR_EACH(PB_ZDD_OP, Intersect, (*)(&)) BOOST_PP_SEQ_FOR_EACH(PB_ZDD_OP, Union, (+)(|)) BOOST_PP_SEQ_FOR_EACH(PB_ZDD_OP, Diff, (-)) BOOST_PP_SEQ_FOR_EACH(PB_ZDD_OP_ASSIGN, BOOST_PP_NIL, (*)(&)(+)(|)(-)) BOOST_PP_SEQ_FOR_EACH(PB_ZDD_APPLY, const self&, (Product)(UnateProduct)(WeakDiv)(Divide)(WeakDivF)(DivideF) (Union)(Intersect)(Diff)(DiffConst)) BOOST_PP_SEQ_FOR_EACH(PB_ZDD_APPLY, int, (Subset1)(Subset0)(Change))
bool polybori::CCuddZDD::operator!= | ( | const self & | other | ) | const [inline] |
bool polybori::CCuddZDD::operator< | ( | const self & | rhs | ) | const [inline] |
bool polybori::CCuddZDD::operator<= | ( | const self & | other | ) | const [inline] |
Assignment operator.
References polybori::CCuddDDBase< DiagramType >::ddMgr, polybori::CCuddDDBase< CCuddZDD >::ddMgr, deref(), LIKELY, polybori::CCuddDDBase< CCuddZDD >::node, polybori::CCuddDDBase< DiagramType >::node, PB_DD_VERBOSE, and UNLIKELY.
bool polybori::CCuddZDD::operator== | ( | const self & | other | ) | const [inline] |
bool polybori::CCuddZDD::operator> | ( | const self & | other | ) | const [inline] |
bool polybori::CCuddZDD::operator>= | ( | const self & | other | ) | const [inline] |
void polybori::CCuddZDD::print | ( | int | nvars, | |
int | verbosity = 1 | |||
) | const [inline] |
References UNLIKELY.
void polybori::CCuddZDD::PrintCover | ( | ) | const [inline] |
void polybori::CCuddZDD::PrintMinterm | ( | ) | const [inline] |
friend class CCuddInterface [friend] |