Gecode::CpltSet::BddMgr Class Reference
Detailed Description
Manager for CpltSetVars.Used for initialization and destruction of the global lookup table for Bdd nodes and for keeping track between CpltSetVars and their corresponding indices in the lookup table.
Definition at line 61 of file bddmanager.icc.
Public Member Functions | |
BddMgr (void) | |
Default constructor. | |
GECODE_CPLTSET_EXPORT | ~BddMgr (void) |
Destructor. | |
void | init (int n, int c) |
Initialize manager with initial nodesize n and cachesize c. | |
bool | leaf (const bdd &b) const |
Test whether bdd b is either constant true or constant false. | |
bool | cfalse (const bdd &b) const |
Tests whether bdd b is constant false. | |
bool | ctrue (const bdd &b) const |
Tests whether bdd b is constant true. | |
void | setorder (int *hls) |
Sets the variable ordering in the bdd according to hls. | |
unsigned int | bddsize (const bdd &b) const |
Return the size of bdd b. | |
unsigned int | bddpath (const bdd &b) const |
Return the number of paths of bdd leading to a true nodeb. | |
GECODE_CPLTSET_EXPORT unsigned int | numberOfPaths (bdd &b) |
Return the total number of paths of bdd b. | |
bdd | bddpos (int i) const |
Return bdd at position i in bdd lookup table. | |
bdd | negbddpos (int i) const |
Return negated bdd at position i in bdd lookup table. | |
int | lbCard (const bdd &b) |
Get lower cardinality bound for breadth-first iteration. | |
int | ubCard (const bdd &b) |
Get upper cardinality bound for breadth-first iteration. | |
void | lbCard (const bdd &b, int l) |
Set lower cardinality bound for breadth-first iteration. | |
void | ubCard (const bdd &b, int r) |
Set upper cardinality bound for breadth-first iteration. | |
bdd | ite (const bdd &v, const bdd &t, const bdd &f) |
Construct the Bdd for ![]() | |
void | mark (const bdd &b) |
Marks the bdd b. | |
void | unmark (const bdd &b) |
Unmarks the bdd b. | |
bool | marked (const bdd &b) const |
Check whether b is marked. | |
int | node_level (const bdd &b) const |
int | bdd2var (int i) |
Returns the position of variable i in the current variable order. | |
int | var2bdd (int i) |
Returns the variable at position i in the current variable order. | |
int | dummy (void) |
Returns the offset of the first dummy var if there is any. | |
bdd | iftrue (bdd &b) |
Return the true branch of a bdd b. | |
bdd | iffalse (bdd &b) |
Return the false branch of a bdd b. | |
const unsigned int | bddidx (const bdd &b) |
Returns the index of the variable labeling the bdd b. | |
void | existquant (bdd &dom, bdd &d, int *var, int s) |
Set the bdd dom to ![]() | |
void | existquant (bdd &dom, bdd &d, int a, int b) |
Set the bdd dom to ![]() | |
void | existquant (bdd &dom, bdd &d, bdd &pr) |
Set the bdd dom to ![]() | |
bdd | eliminate (bdd &d, int a, int b) |
Set the bdd d to ![]() | |
bdd | eliminate (bdd &d, bdd &e) |
Set the bdd d to ![]() | |
bdd | eliminate (bdd &d, int *var, int s) |
Set the bdd d to ![]() | |
void | markdummy (int a, int b) |
Marks in the table, whether dummy nodes have been allocated so far. | |
void | dispose (void) |
Free the node table. | |
void | dispose (int offset, int range, int freenodes=0) |
Free variable in the node table. | |
void | dispose (bdd &d) |
Free nodes for bdd d in the table. | |
int | allocate (int r) |
Subscribe a variable to the lookup table Returns the offset where the first node starts. | |
int | varnum (void) |
return the number of used bdd variables | |
void | bddntf (std::ostream &, bdd &b) |
Prints a bdd node b with its true edge and its false edge. | |
void | bdd2dot (const bdd &b) const |
Prints dot-output of a bdd b. | |
unsigned int | allocated (void) |
Return the number of allocated bdd variables for the set elements in the table. | |
void | print_set (const bdd &b) |
Set print of a bdd. | |
int | offset (void) const |
Return the current offset of the manager. | |
void | setmaxinc (int max) |
Memory Management. | |
bool | available (void) |
Check whether the buddy library has already been initialized. |
Constructor & Destructor Documentation
Gecode::CpltSet::BddMgr::BddMgr | ( | void | ) | [inline] |
Gecode::CpltSet::BddMgr::~BddMgr | ( | void | ) |
Member Function Documentation
void Gecode::CpltSet::BddMgr::init | ( | int | n, | |
int | c | |||
) | [inline] |
Initialize manager with initial nodesize n and cachesize c.
Definition at line 203 of file bddmanager.icc.
bool Gecode::CpltSet::BddMgr::leaf | ( | const bdd & | b | ) | const [inline] |
Test whether bdd b is either constant true or constant false.
Definition at line 179 of file bddmanager.icc.
bool Gecode::CpltSet::BddMgr::cfalse | ( | const bdd & | b | ) | const [inline] |
bool Gecode::CpltSet::BddMgr::ctrue | ( | const bdd & | b | ) | const [inline] |
void Gecode::CpltSet::BddMgr::setorder | ( | int * | hls | ) | [inline] |
Sets the variable ordering in the bdd according to hls.
Definition at line 307 of file bddmanager.icc.
unsigned int Gecode::CpltSet::BddMgr::bddsize | ( | const bdd & | b | ) | const [inline] |
unsigned int Gecode::CpltSet::BddMgr::bddpath | ( | const bdd & | b | ) | const [inline] |
Return the number of paths of bdd leading to a true nodeb.
Definition at line 316 of file bddmanager.icc.
unsigned int Gecode::CpltSet::BddMgr::numberOfPaths | ( | bdd & | b | ) |
bdd Gecode::CpltSet::BddMgr::bddpos | ( | int | i | ) | const [inline] |
bdd Gecode::CpltSet::BddMgr::negbddpos | ( | int | i | ) | const [inline] |
Return negated bdd at position i in bdd lookup table.
Definition at line 266 of file bddmanager.icc.
int Gecode::CpltSet::BddMgr::lbCard | ( | const bdd & | b | ) | [inline] |
Get lower cardinality bound for breadth-first iteration.
Definition at line 281 of file bddmanager.icc.
int Gecode::CpltSet::BddMgr::ubCard | ( | const bdd & | b | ) | [inline] |
Get upper cardinality bound for breadth-first iteration.
Definition at line 284 of file bddmanager.icc.
void Gecode::CpltSet::BddMgr::lbCard | ( | const bdd & | b, | |
int | l | |||
) | [inline] |
Set lower cardinality bound for breadth-first iteration.
Definition at line 287 of file bddmanager.icc.
void Gecode::CpltSet::BddMgr::ubCard | ( | const bdd & | b, | |
int | r | |||
) | [inline] |
Set upper cardinality bound for breadth-first iteration.
Definition at line 290 of file bddmanager.icc.
bdd Gecode::CpltSet::BddMgr::ite | ( | const bdd & | v, | |
const bdd & | t, | |||
const bdd & | f | |||
) | [inline] |
void Gecode::CpltSet::BddMgr::mark | ( | const bdd & | b | ) | [inline] |
void Gecode::CpltSet::BddMgr::unmark | ( | const bdd & | b | ) | [inline] |
bool Gecode::CpltSet::BddMgr::marked | ( | const bdd & | b | ) | const [inline] |
int Gecode::CpltSet::BddMgr::node_level | ( | const bdd & | b | ) | const [inline] |
Definition at line 278 of file bddmanager.icc.
int Gecode::CpltSet::BddMgr::bdd2var | ( | int | i | ) | [inline] |
Returns the position of variable i in the current variable order.
Definition at line 298 of file bddmanager.icc.
int Gecode::CpltSet::BddMgr::var2bdd | ( | int | i | ) | [inline] |
Returns the variable at position i in the current variable order.
Definition at line 301 of file bddmanager.icc.
int Gecode::CpltSet::BddMgr::dummy | ( | void | ) | [inline] |
Returns the offset of the first dummy var if there is any.
Definition at line 304 of file bddmanager.icc.
bdd Gecode::CpltSet::BddMgr::iftrue | ( | bdd & | b | ) | [inline] |
bdd Gecode::CpltSet::BddMgr::iffalse | ( | bdd & | b | ) | [inline] |
const unsigned int Gecode::CpltSet::BddMgr::bddidx | ( | const bdd & | b | ) | [inline] |
Returns the index of the variable labeling the bdd b.
Definition at line 327 of file bddmanager.icc.
void Gecode::CpltSet::BddMgr::existquant | ( | bdd & | dom, | |
bdd & | d, | |||
int * | var, | |||
int | s | |||
) | [inline] |
void Gecode::CpltSet::BddMgr::existquant | ( | bdd & | dom, | |
bdd & | d, | |||
int | a, | |||
int | b | |||
) | [inline] |
void Gecode::CpltSet::BddMgr::existquant | ( | bdd & | dom, | |
bdd & | d, | |||
bdd & | pr | |||
) | [inline] |
bdd Gecode::CpltSet::BddMgr::eliminate | ( | bdd & | d, | |
int | a, | |||
int | b | |||
) | [inline] |
bdd Gecode::CpltSet::BddMgr::eliminate | ( | bdd & | d, | |
bdd & | e | |||
) | [inline] |
bdd Gecode::CpltSet::BddMgr::eliminate | ( | bdd & | d, | |
int * | var, | |||
int | s | |||
) | [inline] |
void Gecode::CpltSet::BddMgr::markdummy | ( | int | a, | |
int | b | |||
) | [inline] |
Marks in the table, whether dummy nodes have been allocated so far.
Definition at line 389 of file bddmanager.icc.
void Gecode::CpltSet::BddMgr::dispose | ( | void | ) | [inline] |
void Gecode::CpltSet::BddMgr::dispose | ( | int | offset, | |
int | range, | |||
int | freenodes = 0 | |||
) | [inline] |
void Gecode::CpltSet::BddMgr::dispose | ( | bdd & | d | ) | [inline] |
int Gecode::CpltSet::BddMgr::allocate | ( | int | r | ) | [inline] |
Subscribe a variable to the lookup table Returns the offset where the first node starts.
Definition at line 229 of file bddmanager.icc.
int Gecode::CpltSet::BddMgr::varnum | ( | void | ) | [inline] |
void Gecode::CpltSet::BddMgr::bddntf | ( | std::ostream & | os, | |
bdd & | b | |||
) | [inline] |
Prints a bdd node b with its true edge and its false edge.
Definition at line 419 of file bddmanager.icc.
void Gecode::CpltSet::BddMgr::bdd2dot | ( | const bdd & | b | ) | const [inline] |
unsigned int Gecode::CpltSet::BddMgr::allocated | ( | void | ) | [inline] |
Return the number of allocated bdd variables for the set elements in the table.
Definition at line 259 of file bddmanager.icc.
void Gecode::CpltSet::BddMgr::print_set | ( | const bdd & | b | ) | [inline] |
int Gecode::CpltSet::BddMgr::offset | ( | void | ) | const [inline] |
void Gecode::CpltSet::BddMgr::setmaxinc | ( | int | max | ) | [inline] |
bool Gecode::CpltSet::BddMgr::available | ( | void | ) | [inline] |
Check whether the buddy library has already been initialized.
Definition at line 176 of file bddmanager.icc.
The documentation for this class was generated from the following files:
- gecode/cpltset/bddmanager.icc (Revision: 5608)
- gecode/cpltset/bddmanager.cc (Revision: 5043)