#include <synnaeve.guillame.bert.h>
Public Member Functions | |
Graph (Node *node, Unification *unification) | |
bool | explo (Node *n) |
SolverSolution * | run () |
~Graph () | |
bool | seekCycle (list< Vertex * > &ver, list< Edge * > &ed) |
void | resetVisited () |
void | print () |
Vertex * | addVertex (int id) |
Edge * | addEdge (Vertex *v1, Vertex *v2, int a, int b) |
Public Attributes | |
SolverSolution * | solus |
Unification * | unification |
bool | success |
list< Vertex * > | vertexs |
list< Edge * > | edges |
Definition at line 66 of file synnaeve.guillame.bert.h.
Solver::Graph::Graph | ( | Node * | node, | |
Unification * | unification | |||
) |
Definition at line 35 of file synnaeve.guillame.bert.cpp.
References addEdge(), addVertex(), explo(), Solver::SolverSolution::ndvar, Unification::parser, solus, success, Solver::SolverSolution::unification, Solver::SolverSolution::variableSolution, and Parser::variabletab.
Solver::Graph::~Graph | ( | ) |
Definition at line 393 of file synnaeve.guillame.bert.cpp.
bool Solver::Graph::explo | ( | Node * | n | ) |
Definition at line 110 of file synnaeve.guillame.bert.cpp.
References Solver::Edge::a, addEdge(), addVertex(), Function::arguments, Solver::Edge::b, And::branchs, And::conditions, Unification::configuration, Expo::free, Variable::id, NumericalVar::id, Expo::n1, Solver::Edge::n1, Equal::n1, Expo::n2, Solver::Edge::n2, Equal::n2, Configuration::NcanbeZero, Solver::VariableSolution::seeoutside, Solver::Vertex::setBoundMax(), Solver::Vertex::setBounds(), solus, unification, Expo::var, and Solver::SolverSolution::variableSolution.
Referenced by Graph().
SolverSolution * Solver::Graph::run | ( | ) |
Definition at line 220 of file synnaeve.guillame.bert.cpp.
References Solver::Contribution::a, Unification::configuration, edges, Solver::Vertex::in, Configuration::NcanbeZero, Solver::Vertex::out, print(), seekCycle(), solus, Solver::SolverSolution::success, success, unification, Solver::Contribution::v, Solver::Vertex::variable, and vertexs.
Definition at line 397 of file synnaeve.guillame.bert.cpp.
References Solver::Vertex::father, Solver::Vertex::in, Solver::Edge::n1, Solver::Edge::n2, Solver::Vertex::out, resetVisited(), vertexs, and Solver::Vertex::visited.
Referenced by run().
void Solver::Graph::resetVisited | ( | ) |
Definition at line 493 of file synnaeve.guillame.bert.cpp.
References vertexs.
Referenced by seekCycle().
void Solver::Graph::print | ( | ) |
Definition at line 500 of file synnaeve.guillame.bert.cpp.
References edges, and vertexs.
Referenced by run().
Vertex * Solver::Graph::addVertex | ( | int | id | ) |
Definition at line 73 of file synnaeve.guillame.bert.cpp.
References Unification::configuration, Solver::Vertex::count, Solver::Vertex::father, Solver::Vertex::max, Solver::Vertex::min, Configuration::NcanbeZero, unification, Solver::Vertex::variable, vertexs, and Solver::Vertex::visited.
Definition at line 97 of file synnaeve.guillame.bert.cpp.
References Solver::Edge::a, Solver::Edge::b, edges, Solver::Vertex::in, Solver::Edge::n1, Solver::Edge::n2, and Solver::Vertex::out.
Definition at line 70 of file synnaeve.guillame.bert.h.
Referenced by addVertex(), explo(), and run().
list<Vertex*> Solver::Graph::vertexs |
Definition at line 72 of file synnaeve.guillame.bert.h.
Referenced by addVertex(), print(), resetVisited(), run(), and seekCycle().
list<Edge*> Solver::Graph::edges |
Definition at line 73 of file synnaeve.guillame.bert.h.