[GIT] ppl/ppl(pip): Removed useless pointer to problem object in PIP_Tree_Node.

Module: ppl/ppl Branch: pip Commit: 99f2fbb392153b9ca8bd25b15e57a33211a25bc1 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=99f2fbb392153...
Author: François Galea francois.galea@uvsq.fr Date: Tue Oct 6 16:29:54 2009 +0200
Removed useless pointer to problem object in PIP_Tree_Node.
---
src/PIP_Problem.cc | 2 +- src/PIP_Tree.cc | 24 ++++++++++-------------- src/PIP_Tree.defs.hh | 10 +++------- 3 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/src/PIP_Problem.cc b/src/PIP_Problem.cc index 3e657f3..225372f 100644 --- a/src/PIP_Problem.cc +++ b/src/PIP_Problem.cc @@ -79,7 +79,7 @@ PPL::PIP_Problem::solve() const { PIP_Problem_Status return_value;
if (current_solution == 0) - x.current_solution = new PIP_Solution_Node(&x); + x.current_solution = new PIP_Solution_Node(); if (input_cs.empty()) { // no constraints: solution = {0} return OPTIMIZED_PIP_PROBLEM; diff --git a/src/PIP_Tree.cc b/src/PIP_Tree.cc index 2c9fe70..5e6bcd1 100644 --- a/src/PIP_Tree.cc +++ b/src/PIP_Tree.cc @@ -112,15 +112,13 @@ operator<<(std::ostream& os, const PIP_Tree_Node::Artificial_Parameter& x) {
} // namespace IO_Operators
-PIP_Tree_Node::PIP_Tree_Node(PIP_Problem* p) - : problem(p), - constraints_(), +PIP_Tree_Node::PIP_Tree_Node() + : constraints_(), artificial_parameters() { }
PIP_Tree_Node::PIP_Tree_Node(const PIP_Tree_Node &x) - : problem(x.problem), - constraints_(x.constraints_), + : constraints_(x.constraints_), artificial_parameters(x.artificial_parameters) { }
@@ -171,8 +169,8 @@ PIP_Decision_Node::~PIP_Decision_Node() { PIP_Solution_Node::~PIP_Solution_Node() { }
-PIP_Solution_Node::PIP_Solution_Node(PIP_Problem* p) - : PIP_Tree_Node(p), +PIP_Solution_Node::PIP_Solution_Node() + : PIP_Tree_Node(), tableau(), basis(), mapping(), @@ -193,7 +191,7 @@ PIP_Solution_Node::PIP_Solution_Node(const PIP_Solution_Node &x)
PIP_Solution_Node::PIP_Solution_Node(const PIP_Solution_Node &x, bool empty_constraints) - : PIP_Tree_Node(x.problem), + : PIP_Tree_Node(), tableau(x.tableau), basis(x.basis), mapping(x.mapping), @@ -206,10 +204,9 @@ PIP_Solution_Node::PIP_Solution_Node(const PIP_Solution_Node &x, } }
-PIP_Decision_Node::PIP_Decision_Node(PIP_Problem* p, - PIP_Tree_Node* fcp, +PIP_Decision_Node::PIP_Decision_Node(PIP_Tree_Node* fcp, PIP_Tree_Node* tcp) - : PIP_Tree_Node(p), + : PIP_Tree_Node(), true_child(tcp), false_child(fcp) { } @@ -1174,14 +1171,13 @@ PIP_Solution_Node::solve(PIP_Tree_Node*& parent_ref, const Matrix& ctx, }
/* Create a decision Node to become parent of current Node */ - PIP_Decision_Node* parent - = new PIP_Decision_Node(fals->problem, fals, tru); + PIP_Decision_Node* parent = new PIP_Decision_Node(fals, tru); parent->add_constraint(test, parameters);
if (!cs.empty()) { /* If node to be solved had tautologies, store them in a new decision node */ - parent = new PIP_Decision_Node(fals->problem, 0, parent); + parent = new PIP_Decision_Node(0, parent); cs.swap(parent->constraints_); } aps.swap(parent->artificial_parameters); diff --git a/src/PIP_Tree.defs.hh b/src/PIP_Tree.defs.hh index e70f467..e4a7e8b 100644 --- a/src/PIP_Tree.defs.hh +++ b/src/PIP_Tree.defs.hh @@ -122,7 +122,7 @@ public:
protected: //! Default constructor. - PIP_Tree_Node(PIP_Problem* p); + PIP_Tree_Node();
//! Copy constructor. PIP_Tree_Node(const PIP_Tree_Node &x); @@ -136,10 +136,6 @@ protected: friend class PIP_Decision_Node; friend class PIP_Solution_Node;
- //FIXME - remove problem pointer - //! A pointer to the master problem object. - PIP_Problem* problem; - //! The local system of parameter constraints. Constraint_System constraints_;
@@ -199,7 +195,7 @@ protected: class PIP_Solution_Node : public PIP_Tree_Node { public: //! Default constructor. - PIP_Solution_Node(PIP_Problem* p); + PIP_Solution_Node();
//! Destructor. ~PIP_Solution_Node(); @@ -447,7 +443,7 @@ private: \exception std::invalid_argument Thrown if \p cs contains strict inequalities. */ - PIP_Decision_Node(PIP_Problem* p, PIP_Tree_Node* fcp, PIP_Tree_Node* tcp); + PIP_Decision_Node(PIP_Tree_Node* fcp, PIP_Tree_Node* tcp);
protected: /*! \brief
participants (1)
-
François Galea