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

Module: ppl/ppl Branch: master Commit: 5959eedc504b636abadb642035680a78627b21a0 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=5959eedc504b6...
Author: Roberto Bagnara bagnara@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 //
participants (1)
-
Roberto Bagnara