[PPL-devel] [GIT] ppl/ppl(pip): Removed useless pointer to problem object in PIP_Tree_Node.
François Galea
francois.galea at uvsq.fr
Tue Oct 6 16:52:56 CEST 2009
Module: ppl/ppl
Branch: pip
Commit: 99f2fbb392153b9ca8bd25b15e57a33211a25bc1
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=99f2fbb392153b9ca8bd25b15e57a33211a25bc1
Author: François Galea <francois.galea at 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
More information about the PPL-devel
mailing list