[PPL-devel] [GIT] ppl/ppl(master): Significantly speeded up the construction of `new_satrow'.

Roberto Bagnara bagnara at cs.unipr.it
Mon Apr 20 10:50:02 CEST 2009


Module: ppl/ppl
Branch: master
Commit: 5959eedc504b636abadb642035680a78627b21a0
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=5959eedc504b636abadb642035680a78627b21a0

Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date:   Mon Apr 20 10:49:44 2009 +0200

Significantly speeded up the construction of `new_satrow'.

---

 src/conversion.cc |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/conversion.cc b/src/conversion.cc
index 3fd1757..ec581f7 100644
--- a/src/conversion.cc
+++ b/src/conversion.cc
@@ -670,15 +670,16 @@ PPL::Polyhedron::conversion(Linear_System& source,
 	      // If there exist another generator that saturates
 	      // all the constraints saturated by both `dest[i]' and
 	      // `dest[j]', then they are NOT adjacent.
-	      Bit_Row new_satrow;
 	      assert(sat[i].last() == ULONG_MAX || sat[i].last() < k);
 	      assert(sat[j].last() == ULONG_MAX || sat[j].last() < k);
+
 	      // Being the union of `sat[i]' and `sat[j]',
 	      // `new_satrow' corresponds to a ray that saturates all the
 	      // constraints saturated by both `dest[i]' and `dest[j]'.
-	      set_union(sat[i], sat[j], new_satrow);
+	      Bit_Row new_satrow(sat[i]);
+	      set_union(new_satrow, sat[j], new_satrow);
 
-	      // Computing the number of common saturators.
+	      // Compute the number of common saturators.
 	      // NOTE: this number has to be less than `k' because
 	      // we are treating the `k'-th constraint.
 	      const dimension_type
@@ -724,6 +725,7 @@ PPL::Polyhedron::conversion(Linear_System& source,
 		  }
 		  else
 		    sat[dest_num_rows] = new_satrow;
+
 		  Linear_Row& new_row = dest[dest_num_rows];
 		  // The following fragment optimizes the computation of
 		  //




More information about the PPL-devel mailing list