[PPL-devel] [GIT] ppl/ppl(floating_point): Always use add_octagon_constraint to update contraints in
Fabio Bossi
bossi at cs.unipr.it
Thu Sep 17 17:22:08 CEST 2009
Module: ppl/ppl
Branch: floating_point
Commit: 8ae6135af4d6a659459fad4c01fd077de32d4562
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=8ae6135af4d6a659459fad4c01fd077de32d4562
Author: Fabio Bossi <bossi at cs.unipr.it>
Date: Thu Sep 17 17:24:24 2009 +0200
Always use add_octagon_constraint to update contraints in
refine_with_linear_form_inequality instead of overwriting blindly.
---
src/Octagonal_Shape.templates.hh | 18 ++++++------------
1 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/src/Octagonal_Shape.templates.hh b/src/Octagonal_Shape.templates.hh
index ecc284f..e33df08 100644
--- a/src/Octagonal_Shape.templates.hh
+++ b/src/Octagonal_Shape.templates.hh
@@ -791,20 +791,16 @@ Octagonal_Shape<T>::refine_with_linear_form_inequality(
dimension_type n_second_var = second_v * 2;
linear_form_upper_bound(right_minus_left - first + second,
upper_bound);
- assign_r(matrix[n_second_var+1][n_first_var+1],
- upper_bound, ROUND_NOT_NEEDED);
+ add_octagonal_constraint(n_second_var+1, n_first_var+1, upper_bound);
linear_form_upper_bound(right_minus_left + first + second,
upper_bound);
- assign_r(matrix[n_second_var+1][n_first_var],
- upper_bound, ROUND_NOT_NEEDED);
+ add_octagonal_constraint(n_second_var+1, n_first_var, upper_bound);
linear_form_upper_bound(right_minus_left - first - second,
upper_bound);
- assign_r(matrix[n_second_var][n_first_var+1],
- upper_bound, ROUND_NOT_NEEDED);
+ add_octagonal_constraint(n_second_var, n_first_var+1, upper_bound);
linear_form_upper_bound(right_minus_left + first - second,
upper_bound);
- assign_r(matrix[n_second_var][n_first_var],
- upper_bound, ROUND_NOT_NEEDED);
+ add_octagonal_constraint(n_second_var, n_first_var, upper_bound);
}
}
}
@@ -853,14 +849,12 @@ Octagonal_Shape<T>::refine_with_linear_form_inequality(
for (dimension_type i = 0; m_ite != m_end; i += 2) {
Row_Reference upper = *m_ite;
N& ul = upper[i];
- N& ur = upper[i+1];
- assign_r(ur, ul, ROUND_NOT_NEEDED);
+ add_octagonal_constraint(i, i+1, ul);
assign_r(ul, PLUS_INFINITY, ROUND_NOT_NEEDED);
++m_ite;
Row_Reference lower = *m_ite;
- N& ll = lower[i];
N& lr = lower[i+1];
- assign_r(ll, lr, ROUND_NOT_NEEDED);
+ add_octagonal_constraint(i+1, i, lr);
assign_r(lr, PLUS_INFINITY, ROUND_NOT_NEEDED);
++m_ite;
}
More information about the PPL-devel
mailing list