[PPL-devel] [GIT] ppl/ppl(master): Renamed is_infinity() as infinity_sign(), returning an `int' in {-1, 0, 1}.

Enea Zaffanella zaffanella at cs.unipr.it
Thu Feb 16 22:46:54 CET 2012


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

Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date:   Thu Feb 16 22:45:01 2012 +0100

Renamed is_infinity() as infinity_sign(), returning an `int' in {-1, 0, 1}.
Prefer explicit tests against zero.
Detected by ECLAIR service utypflag.

---

 src/Boundary.defs.hh          |    2 +-
 src/Checked_Number.defs.hh    |    2 +-
 src/Checked_Number.inlines.hh |    2 +-
 src/Interval.defs.hh          |    4 +-
 src/Interval.inlines.hh       |   50 ++++++++++++++++++++--------------------
 5 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/src/Boundary.defs.hh b/src/Boundary.defs.hh
index 5af4328..72d8858 100644
--- a/src/Boundary.defs.hh
+++ b/src/Boundary.defs.hh
@@ -297,7 +297,7 @@ is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
 
 template <typename T, typename Info>
 inline int
-is_infinity(Boundary_Type type, const T& x, const Info& info) {
+infinity_sign(Boundary_Type type, const T& x, const Info& info) {
   if (is_boundary_infinity(type, x, info))
     return (type == LOWER) ? -1 : 1;
   else if (is_reverse_infinity(type, x, info))
diff --git a/src/Checked_Number.defs.hh b/src/Checked_Number.defs.hh
index ce29ee0..3b998ca 100644
--- a/src/Checked_Number.defs.hh
+++ b/src/Checked_Number.defs.hh
@@ -452,7 +452,7 @@ is_plus_infinity(const T& x);
 /*! \relates Checked_Number */
 template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x);
+infinity_sign(const T& x);
 
 /*! \relates Checked_Number */
 template <typename T>
diff --git a/src/Checked_Number.inlines.hh b/src/Checked_Number.inlines.hh
index 18b1f51..6e97d02 100644
--- a/src/Checked_Number.inlines.hh
+++ b/src/Checked_Number.inlines.hh
@@ -239,7 +239,7 @@ is_plus_infinity(const T& x) {
 
 template <typename T>
 inline typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x) {
+infinity_sign(const T& x) {
   return is_minus_infinity(x) ? -1 : (is_plus_infinity(x) ? 1 : 0);
 }
 
diff --git a/src/Interval.defs.hh b/src/Interval.defs.hh
index 5ee45f5..bd0045b 100644
--- a/src/Interval.defs.hh
+++ b/src/Interval.defs.hh
@@ -456,7 +456,7 @@ public:
     info().set_boundary_property(UPPER, OPEN, true);
   }
 
-  bool is_infinity() const {
+  int infinity_sign() const {
     PPL_ASSERT(OK());
     if (is_reverse_infinity(LOWER, lower(), info()))
       return 1;
@@ -519,7 +519,7 @@ public:
       return assign(refinement);
     PPL_DIRTY_TEMP(Boundary, u);
     Result result = sub_2exp_assign_r(u, upper(), w, ROUND_UP);
-    if (!result_overflow(result) && u > lower())
+    if (result_overflow(result) == 0 && u > lower())
       return assign(refinement);
     info().clear();
     switch (r) {
diff --git a/src/Interval.inlines.hh b/src/Interval.inlines.hh
index e3b15da..f8e659d 100644
--- a/src/Interval.inlines.hh
+++ b/src/Interval.inlines.hh
@@ -60,8 +60,8 @@ f_is_singleton(const Interval<Boundary, Info>& x) {
 }
 template <typename Boundary, typename Info>
 inline int
-is_infinity(const Interval<Boundary, Info>& x) {
-  return x.is_infinity();
+infinity_sign(const Interval<Boundary, Info>& x) {
+  return x.infinity_sign();
 }
 
 namespace Interval_NS {
@@ -614,16 +614,16 @@ Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
   PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == -inf)
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) == -inf_sign)
       return assign(EMPTY);
   }
   else
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
+    inf_sign = Parma_Polyhedra_Library::infinity_sign(y);
+  if (inf_sign < 0)
     return assign(MINUS_INFINITY);
-  else if (inf > 0)
+  else if (inf_sign > 0)
     return assign(PLUS_INFINITY);
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
@@ -651,16 +651,16 @@ Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
   PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == inf)
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) == inf_sign)
       return assign(EMPTY);
   }
   else
-    inf = -Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
+    inf_sign = -Parma_Polyhedra_Library::infinity_sign(y);
+  if (inf_sign < 0)
     return assign(MINUS_INFINITY);
-  else if (inf > 0)
+  else if (inf_sign > 0)
     return assign(PLUS_INFINITY);
 
   PPL_DIRTY_TEMP(To_Info, to_info);
@@ -708,16 +708,16 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
   int xus = (xls > 0) ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
   int yls = sgn_b(LOWER, f_lower(y), f_info(y));
   int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
   int ls, us;
-  if (inf) {
+  if (inf_sign != 0) {
     ls = yls;
     us = yus;
     goto inf;
   }
   else {
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-    if (inf) {
+    inf_sign = Parma_Polyhedra_Library::infinity_sign(y);
+    if (inf_sign != 0) {
       ls = xls;
       us = xus;
     inf:
@@ -726,8 +726,8 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
       if (ls == -us)
 	return set_infinities();
       if (ls < 0 || us < 0)
-	inf = -inf;
-      if (inf < 0)
+	inf_sign = -inf_sign;
+      if (inf_sign < 0)
 	return assign(MINUS_INFINITY);
       else
 	return assign(PLUS_INFINITY);
@@ -877,15 +877,15 @@ Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
   int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
   if (yls == 0 && yus == 0)
     return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y))
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) != 0)
       return assign(EMPTY);
     if (yls == -yus)
       return set_infinities();
     if (yls < 0 || yus < 0)
-      inf = -inf;
-    if (inf < 0)
+    inf_sign = -inf_sign;
+    if (inf_sign < 0)
       return assign(MINUS_INFINITY);
     else
       return assign(PLUS_INFINITY);




More information about the PPL-devel mailing list