[GIT] ppl/ppl(master): MIP_Problem: don' t copy Coefficient objects to cache accesses, in steepest_edge_exact_entering_index().

Module: ppl/ppl Branch: master Commit: 4974d4f39e8c674119b8ec0423fc5e5da918b0b4 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=4974d4f39e8c6...
Author: Marco Poletti poletti.marco@gmail.com Date: Thu Sep 9 08:25:24 2010 +0200
MIP_Problem: don't copy Coefficient objects to cache accesses, in steepest_edge_exact_entering_index().
---
src/MIP_Problem.cc | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/MIP_Problem.cc b/src/MIP_Problem.cc index c122db4..882af9e 100644 --- a/src/MIP_Problem.cc +++ b/src/MIP_Problem.cc @@ -1089,14 +1089,11 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const { // Compute the lcm of all the coefficients of variables in base. PPL_DIRTY_TEMP_COEFFICIENT(lcm_basis); lcm_basis = 1; - std::vector<Coefficient> tableau_base(tableau_num_rows); - for (dimension_type i = tableau_num_rows; i-- > 0; ) { - tableau_base[i] = tableau[i].get(base[i]); - lcm_assign(lcm_basis, lcm_basis, tableau_base[i]); - } + for (dimension_type i = tableau_num_rows; i-- > 0; ) + lcm_assign(lcm_basis, lcm_basis, tableau[i].get(base[i])); // Compute normalization factors. for (dimension_type i = tableau_num_rows; i-- > 0; ) - exact_div_assign(norm_factor[i], lcm_basis, tableau_base[i]); + exact_div_assign(norm_factor[i], lcm_basis, tableau[i].get(base[i])); // Compute the square of `lcm_basis', exploiting the fact that // `lcm_basis' will no longer be needed. lcm_basis *= lcm_basis;
participants (1)
-
Marco Poletti