Dependence graph. More...
#include <CouenneDepGraph.hpp>
Public Member Functions | |
DepGraph () | |
constructor | |
~DepGraph () | |
destructor | |
std::set< DepNode *, compNode > & | Vertices () |
return vertex set | |
int & | Counter () |
node index counter | |
void | insert (exprVar *) |
insert new variable if new | |
void | insert (exprAux *) |
insert new auxiliary if new | |
void | erase (exprVar *) |
delete element | |
bool | depends (int, int, bool=false) |
does w depend on x? | |
void | createOrder () |
assign numbering to all nodes of graph | |
void | print (bool descend=false) |
debugging procedure | |
DepNode * | lookup (int index) |
search for node in vertex set | |
bool | checkCycles () |
check for dependence cycles in graph | |
void | replaceIndex (int oldVar, int newVar) |
replace, throughout the whole graph, the index of a variable with another in the entire graph. | |
Protected Attributes | |
std::set< DepNode *, compNode > | vertices_ |
set of variable nodes | |
int | counter_ |
counter to assign numbering to all nodes |
Dependence graph.
Shows dependence of auxiliary variable on other (auxiliary and/or original) variables
Definition at line 115 of file CouenneDepGraph.hpp.
Couenne::DepGraph::DepGraph | ( | ) | [inline] |
constructor
Definition at line 128 of file CouenneDepGraph.hpp.
Couenne::DepGraph::~DepGraph | ( | ) | [inline] |
destructor
Definition at line 131 of file CouenneDepGraph.hpp.
return vertex set
Definition at line 138 of file CouenneDepGraph.hpp.
int& Couenne::DepGraph::Counter | ( | ) | [inline] |
node index counter
Definition at line 142 of file CouenneDepGraph.hpp.
void DepGraph::insert | ( | exprVar * | var | ) |
insert new variable if new
Definition at line 129 of file depGraph.cpp.
void DepGraph::insert | ( | exprAux * | aux | ) |
insert new auxiliary if new
Definition at line 141 of file depGraph.cpp.
void DepGraph::erase | ( | exprVar * | var | ) |
bool DepGraph::depends | ( | int | wi, | |
int | xi, | |||
bool | recursive = false | |||
) |
does w depend on x?
Definition at line 170 of file depGraph.cpp.
void DepGraph::createOrder | ( | ) |
assign numbering to all nodes of graph
Definition at line 185 of file depGraph.cpp.
void DepGraph::print | ( | bool | descend = false |
) |
debugging procedure
Definition at line 194 of file depGraph.cpp.
DepNode * DepGraph::lookup | ( | int | index | ) |
search for node in vertex set
Definition at line 206 of file depGraph.cpp.
bool DepGraph::checkCycles | ( | ) |
check for dependence cycles in graph
check for cycles in dependence graph
Definition at line 22 of file checkCycles.cpp.
void DepGraph::replaceIndex | ( | int | oldVar, | |
int | newVar | |||
) |
replace, throughout the whole graph, the index of a variable with another in the entire graph.
Used when redundant constraints w := x are discovered
Definition at line 220 of file depGraph.cpp.
std::set<DepNode *, compNode> Couenne::DepGraph::vertices_ [protected] |
set of variable nodes
Definition at line 120 of file CouenneDepGraph.hpp.
int Couenne::DepGraph::counter_ [protected] |
counter to assign numbering to all nodes
Definition at line 123 of file CouenneDepGraph.hpp.