[PPL-devel] [GIT] ppl/ppl(products): Further improvements to frequency() code.

Patricia Hill p.m.hill at leeds.ac.uk
Sun May 24 09:46:56 CEST 2009


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

Author: Patricia Hill <p.m.hill at leeds.ac.uk>
Date:   Sun May 24 08:44:02 2009 +0100

Further improvements to frequency() code.

---

 src/BD_Shape.templates.hh        |    6 ++++--
 src/Box.templates.hh             |    3 ++-
 src/Octagonal_Shape.templates.hh |    3 ++-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/BD_Shape.templates.hh b/src/BD_Shape.templates.hh
index ced24f6..c000d9e 100644
--- a/src/BD_Shape.templates.hh
+++ b/src/BD_Shape.templates.hh
@@ -825,7 +825,8 @@ BD_Shape<T>::frequency(const Linear_Expression& expr,
       // If `v' is constant, replace it in `le' by the value.
       numer_denom(tmp, num, den);
       le -= coeff*v;
-      le = den*le - num*coeff;
+      le *= den;
+      le -= num*coeff;
       val_den *= den;
       constant_v = true;
       continue;
@@ -846,7 +847,8 @@ BD_Shape<T>::frequency(const Linear_Expression& expr,
           // So apply this equality to eliminate `v' in `le'.
           numer_denom(tmp, num, den);
           le -= coeff*v - coeff*vj;
-          le = den*le - num*coeff;
+          le *= den;
+          le -= num*coeff;
           val_den *= den;
           constant_v = true;
           break;
diff --git a/src/Box.templates.hh b/src/Box.templates.hh
index 232b42d..a9e08ed 100644
--- a/src/Box.templates.hh
+++ b/src/Box.templates.hh
@@ -1409,7 +1409,8 @@ Box<ITV>::frequency(const Linear_Expression& expr,
       num = tmp.get_num();
       den = tmp.get_den();
       le -= coeff*v;
-      le = den*le + num*coeff;
+      le *= den;
+      le += num*coeff;
       val_den *= den;
       continue;
     }
diff --git a/src/Octagonal_Shape.templates.hh b/src/Octagonal_Shape.templates.hh
index 437257f..5bfc43b 100644
--- a/src/Octagonal_Shape.templates.hh
+++ b/src/Octagonal_Shape.templates.hh
@@ -962,7 +962,8 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
       numer_denom(m_i_ii, num, den);
       den *= 2;
       le -= coeff*v;
-      le = den*le - num*coeff;
+      le *= den;
+      le -= num*coeff;
       val_den *= den;
       constant_v = true;
       continue;




More information about the PPL-devel mailing list