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

Module: ppl/ppl Branch: master Commit: fc8238d53a79691953a8533c79362fcfc7bc6244 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=fc8238d53a796...
Author: Roberto Bagnara bagnara@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) {
participants (1)
-
Roberto Bagnara