[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