[PPL-devel] [GIT] ppl/ppl(master): Moved the compatibility_check static methods to PIP_Tree_Node.

François Galea francois.galea at uvsq.fr
Sun Mar 7 21:37:26 CET 2010


Module: ppl/ppl
Branch: master
Commit: f010ef5edd820af3fb4589c75c8c9be73b2930ac
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=f010ef5edd820af3fb4589c75c8c9be73b2930ac

Author: François Galea <francois.galea at uvsq.fr>
Date:   Sun Mar  7 20:27:09 2010 +0100

Moved the compatibility_check static methods to PIP_Tree_Node.

---

 src/PIP_Tree.cc      |    4 ++--
 src/PIP_Tree.defs.hh |   34 ++++++++++++++++------------------
 2 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/src/PIP_Tree.cc b/src/PIP_Tree.cc
index 45427ae..a5a7915 100644
--- a/src/PIP_Tree.cc
+++ b/src/PIP_Tree.cc
@@ -1230,7 +1230,7 @@ PIP_Solution_Node::row_sign(const Row& x,
 }
 
 bool
-PIP_Solution_Node::compatibility_check(const Matrix& context, const Row& row) {
+PIP_Tree_Node::compatibility_check(const Matrix& context, const Row& row) {
   // CHECKME: do `context' and `row' have compatible (row) capacity?
   Matrix s(context);
   s.add_row(row);
@@ -1238,7 +1238,7 @@ PIP_Solution_Node::compatibility_check(const Matrix& context, const Row& row) {
 }
 
 bool
-PIP_Solution_Node::compatibility_check(Matrix& s) {
+PIP_Tree_Node::compatibility_check(Matrix& s) {
   PPL_ASSERT(s.OK());
   // Note: num_rows may increase.
   dimension_type num_rows = s.num_rows();
diff --git a/src/PIP_Tree.defs.hh b/src/PIP_Tree.defs.hh
index ef6e23a..ada4280 100644
--- a/src/PIP_Tree.defs.hh
+++ b/src/PIP_Tree.defs.hh
@@ -238,6 +238,22 @@ protected:
   static void
   indent_and_print(std::ostream& s, unsigned indent, const char* str);
 
+  /*! \brief
+    Checks whether a context matrix is satisfiable.
+
+    The satisfiability check is implemented by the revised dual simplex
+    algorithm on the context matrix. The algorithm ensures the feasible
+    solution is integer by applying a cut generation method when
+    intermediate non-integer solutions are found.
+  */
+  static bool compatibility_check(Matrix& s);
+
+  /*! \brief
+    Helper method: checks for satisfiability of the restricted context
+    obtained by adding \p row to \p context.
+  */
+  static bool compatibility_check(const Matrix& context, const Row& row);
+
 }; // class PIP_Tree_Node
 
 
@@ -571,22 +587,6 @@ private:
   //! Returns the sign of row \p x.
   static Row_Sign row_sign(const Row& x, dimension_type big_dimension);
 
-  /*! \brief
-    Checks whether a context matrix is satisfiable.
-
-    The satisfiability check is implemented by the revised dual simplex
-    algorithm on the context matrix. The algorithm ensures the feasible
-    solution is integer by applying a cut generation method when
-    intermediate non-integer solutions are found.
-  */
-  static bool compatibility_check(Matrix& s);
-
-  /*! \brief
-    Helper method: checks for satisfiability of the restricted context
-    obtained by adding \p row to \p context.
-  */
-  static bool compatibility_check(const Matrix& context, const Row& row);
-
 protected:
   //! Copy constructor.
   PIP_Solution_Node(const PIP_Solution_Node& y);
@@ -603,8 +603,6 @@ protected:
 
   // PIP_Problem::ascii load() method needs access set_owner().
   friend bool PIP_Problem::ascii_load(std::istream& s);
-  // PIP_Problem::solve() method needs access compatibility_check().
-  friend PIP_Problem_Status PIP_Problem::solve() const;
 
   //! Sets the pointer to the PIP_Problem owning object.
   virtual void set_owner(const PIP_Problem* owner);




More information about the PPL-devel mailing list