[PPL-devel] [GIT] ppl/ppl(master): FIXMEs resolved.

Roberto Bagnara bagnara at cs.unipr.it
Mon Aug 2 08:33:27 CEST 2010


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

Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date:   Mon Aug  2 08:32:33 2010 +0200

FIXMEs resolved.

---

 src/Grid.defs.hh   |   18 ++++++------------
 src/Grid_public.cc |   23 +++++++++--------------
 2 files changed, 15 insertions(+), 26 deletions(-)

diff --git a/src/Grid.defs.hh b/src/Grid.defs.hh
index 8ce547c..062d3ae 100644
--- a/src/Grid.defs.hh
+++ b/src/Grid.defs.hh
@@ -1564,21 +1564,18 @@ public:
                    bool wrap_individually = true);
 
   /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
+    Possibly tightens \p *this by dropping all points with non-integer
     coordinates.
 
     \param complexity
-    The maximal complexity of any algorithms used.
-
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
   */
    void drop_some_non_integer_points(Complexity_Class complexity
                                     = ANY_COMPLEXITY);
 
   /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
+    Possibly tightens \p *this by dropping all points with non-integer
     coordinates for the space dimensions corresponding to \p vars.
 
     \param vars
@@ -1586,11 +1583,8 @@ public:
     can be discarded.
 
     \param complexity
-    The maximal complexity of any algorithms used.
-
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
   */
   void drop_some_non_integer_points(const Variables_Set& vars,
                                     Complexity_Class complexity
diff --git a/src/Grid_public.cc b/src/Grid_public.cc
index 10c7843..e85cf9a 100644
--- a/src/Grid_public.cc
+++ b/src/Grid_public.cc
@@ -2852,30 +2852,21 @@ PPL::Grid::wrap_assign(const Variables_Set& vars,
   }
 }
 
-// FIXME(0.11): Check if this is the correct interpretation of the
-//              specification.
-// By adding integral congruences for each dimension to the congruence system,
-// defining \p *this, the grid will keep only those points that have integral
-// coordinates. All points in \p *this with non-integral coordinates are
-// removed.
 void
 PPL::Grid::drop_some_non_integer_points(Complexity_Class) {
   if (marked_empty() || space_dim == 0)
     return;
 
+  // By adding integral congruences for each dimension to the
+  // congruence system, defining \p *this, the grid will keep only
+  // those points that have integral coordinates. All points in \p
+  // *this with non-integral coordinates are removed.
   for (dimension_type i = space_dim; i-- > 0; )
     add_congruence(Variable(i) %= 0);
 
   PPL_ASSERT(OK());
 }
 
-// FIXME(0.11): Check if this is the correct interpretation of the
-//              specification.
-// By adding the integral congruences for each dimension in vars
-// to the congruence system defining \p *this, the grid will keep
-// only those points that have integer coordinates for all the
-// dimensions in vars. All points in \p *this with non-integral coordinates
-// for the dimensions in vars are removed.
 void
 PPL::Grid::drop_some_non_integer_points(const Variables_Set& vars,
                                         Complexity_Class) {
@@ -2888,6 +2879,11 @@ PPL::Grid::drop_some_non_integer_points(const Variables_Set& vars,
   if (marked_empty() || min_space_dim == 0)
     return;
 
+  // By adding the integral congruences for each dimension in vars to
+  // the congruence system defining \p *this, the grid will keep only
+  // those points that have integer coordinates for all the dimensions
+  // in vars. All points in \p *this with non-integral coordinates for
+  // the dimensions in vars are removed.
   for (Variables_Set::const_iterator i = vars.begin(),
          vars_end = vars.end(); i != vars.end(); ++i)
     add_congruence(Variable(*i) %= 0);
@@ -2895,7 +2891,6 @@ PPL::Grid::drop_some_non_integer_points(const Variables_Set& vars,
   PPL_ASSERT(OK());
 }
 
-
 /*! \relates Parma_Polyhedra_Library::Grid */
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Grid& gr) {




More information about the PPL-devel mailing list