
Module: ppl/ppl Branch: floating_point Commit: 5d2ee886c0013061fb43b16e45de1c042ff29361 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=5d2ee886c0013...
Author: Fabio Bossi bossi@cs.unipr.it Date: Thu Sep 17 10:57:25 2009 +0200
Definitively removed counterproductive checks in linear_form_upper_bound, since we have confirmed that comparing with -infinity is legitimate.
---
src/Octagonal_Shape.templates.hh | 30 ++++++++---------------------- 1 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/src/Octagonal_Shape.templates.hh b/src/Octagonal_Shape.templates.hh index 0c6efd2..99c9d5b 100644 --- a/src/Octagonal_Shape.templates.hh +++ b/src/Octagonal_Shape.templates.hh @@ -5356,28 +5356,14 @@ linear_form_upper_bound(const Linear_Form< Interval<T, Interval_Info> >& lf, assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED); assign_r(third_comparison_term, 0, ROUND_NOT_NEEDED); assign_r(fourth_comparison_term, 0, ROUND_NOT_NEEDED); - /*if (is_plus_infinity(curr_var_ub)) { - assign_r(first_comparison_term, PLUS_INFINITY, ROUND_NOT_NEEDED); - assign_r(third_comparison_term, PLUS_INFINITY, ROUND_NOT_NEEDED); - } - else {*/ - add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub, - ROUND_UP); - add_mul_assign_r(third_comparison_term, curr_var_ub, curr_lb, - ROUND_UP); - /*} - - if (is_minus_infinity(curr_minus_var_ub)) { - assign_r(second_comparison_term, PLUS_INFINITY, ROUND_NOT_NEEDED); - assign_r(fourth_comparison_term, PLUS_INFINITY, ROUND_NOT_NEEDED); - } - else { */ - add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub, - ROUND_UP); - add_mul_assign_r(fourth_comparison_term, curr_minus_var_ub, curr_lb, - ROUND_UP); - //} - + add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub, + ROUND_UP); + add_mul_assign_r(third_comparison_term, curr_var_ub, curr_lb, + ROUND_UP); + add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub, + ROUND_UP); + add_mul_assign_r(fourth_comparison_term, curr_minus_var_ub, curr_lb, + ROUND_UP); assign_r(first_comparison_term, std::max(first_comparison_term, second_comparison_term), ROUND_NOT_NEEDED);