[GIT] ppl/ppl(master): Enforce generator normalization in private method

Module: ppl/ppl Branch: master Commit: 56c58b4737acece415c0ea4b4bc42bbfa8339028 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=56c58b4737ace...
Author: Enea Zaffanella zaffanella@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()
participants (1)
-
Enea Zaffanella