|
PolyBoRi
|
This class defines a C++ interface to 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 |
This class defines a C++ interface to 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 |
Name type of *this.
Reimplemented from polybori::CCuddDDBase< CCuddZDD >.
| 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] |
Derefering current diagram node, if unused.
References PB_DD_VERBOSE.
| * self polybori::CCuddZDD::Ite | ( | const self & | g, |
| const self & | h | ||
| ) | const [inline] |
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_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, LIKELY, 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] |
1.7.6.1