[PPL-devel] [GIT] ppl/ppl(master): Enforce generator normalization in private method
Enea Zaffanella
zaffanella at cs.unipr.it
Sat Dec 3 13:34:33 CET 2011
Module: ppl/ppl
Branch: master
Commit: 56c58b4737acece415c0ea4b4bc42bbfa8339028
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=56c58b4737acece415c0ea4b4bc42bbfa8339028
Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date: Sat Dec 3 13:32:57 2011 +0100
Enforce generator normalization in private method
Polyhedron::BFT00_poly_hull_assign_if_exact()
and add corresponding assertion.
---
src/Polyhedron_nonpublic.cc | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/Polyhedron_nonpublic.cc b/src/Polyhedron_nonpublic.cc
index 3bffc08..7379ad1 100644
--- a/src/Polyhedron_nonpublic.cc
+++ b/src/Polyhedron_nonpublic.cc
@@ -2034,8 +2034,9 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
PPL_ASSERT(!(illegal_ray && (x_row_is_line || y_row_is_line)));
if (illegal_ray)
continue;
+ // Normalize mid_row (strongly, if needed).
+ mid_row.normalize();
if (x_row_is_line) {
- mid_row.normalize();
if (y_row_is_line)
// mid_row is a line too: sign normalization is needed.
mid_row.sign_normalize();
@@ -2043,6 +2044,7 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
// mid_row is a ray/point.
mid_row.set_is_ray_or_point_or_inequality();
}
+ PPL_ASSERT(mid_g.OK());
// Step 7: check if mid_g is in the union of x and y.
if (x.relation_with(mid_g) == Poly_Gen_Relation::nothing()
More information about the PPL-devel
mailing list