[PPL-devel] [GIT] ppl/ppl(termination): Added method bool Constraint_System:: has_equalities() const.
Roberto Bagnara
bagnara at cs.unipr.it
Sat Mar 6 19:07:58 CET 2010
Module: ppl/ppl
Branch: termination
Commit: c6433c0db9272e38f2a0d01cb50a23b8f5b0f554
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=c6433c0db9272e38f2a0d01cb50a23b8f5b0f554
Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date: Fri Mar 5 22:18:05 2010 +0400
Added method bool Constraint_System::has_equalities() const.
---
src/Constraint_System.cc | 10 ++++++++++
src/Constraint_System.defs.hh | 6 ++++++
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/src/Constraint_System.cc b/src/Constraint_System.cc
index 2e6444a..5658058 100644
--- a/src/Constraint_System.cc
+++ b/src/Constraint_System.cc
@@ -206,6 +206,16 @@ adjust_topology_and_space_dimension(const Topology new_topology,
}
bool
+PPL::Constraint_System::has_equalities() const {
+ const Constraint_System& cs = *this;
+ // We verify if the system has equalities also in the pending part.
+ for (dimension_type i = cs.num_rows(); i-- > 0; )
+ if (cs[i].is_equality())
+ return true;
+ return false;
+}
+
+bool
PPL::Constraint_System::has_strict_inequalities() const {
if (is_necessarily_closed())
return false;
diff --git a/src/Constraint_System.defs.hh b/src/Constraint_System.defs.hh
index 008eac1..7ce79ef 100644
--- a/src/Constraint_System.defs.hh
+++ b/src/Constraint_System.defs.hh
@@ -152,6 +152,12 @@ public:
/*! \brief
Returns <CODE>true</CODE> if and only if \p *this
+ contains one or more equality constraints.
+ */
+ bool has_equalities() const;
+
+ /*! \brief
+ Returns <CODE>true</CODE> if and only if \p *this
contains one or more strict inequality constraints.
*/
bool has_strict_inequalities() const;
More information about the PPL-devel
mailing list