[GIT] ppl/ppl(master): Got rid of a TODO item.

Module: ppl/ppl Branch: master Commit: 71e9992afa9bc049b93d0b29fd9dbe52ead850cf URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=71e9992afa9bc...
Author: Enea Zaffanella zaffanella@cs.unipr.it Date: Mon May 11 12:30:58 2009 +0200
Got rid of a TODO item. Also avoid an annoying warning about an uninitialized variable.
---
TODO | 2 -- src/MIP_Problem.cc | 23 +++-------------------- 2 files changed, 3 insertions(+), 22 deletions(-)
diff --git a/TODO b/TODO index c0a11a1..145be12 100644 --- a/TODO +++ b/TODO @@ -11,8 +11,6 @@ Enhancements for PPL 0.11 - Make all the *affine*image() methods uniform as far as the specification is concerned. - Check the use or the NOT_EQUAL Relation_Symbol everywhere. -- Get rid of ugly assign functions defined in anonymous namespace of - MIP_Problem.cc replacing it with a more general-purpose approach. - Reconsider the datatype for the units parameter in the Watchdog constructors: should we prefer an unsigned? - Rename set_rational_sqrt_precision_parameter to diff --git a/src/MIP_Problem.cc b/src/MIP_Problem.cc index 1fb17cf..132912b 100644 --- a/src/MIP_Problem.cc +++ b/src/MIP_Problem.cc @@ -855,22 +855,6 @@ PPL::MIP_Problem::process_pending_constraints() { return true; }
-namespace { - -inline void -assign(double& d, const mpz_class& c) { - d = c.get_d(); -} - -template <typename T, typename Policy> -inline void -assign(double& d, - const Parma_Polyhedra_Library::Checked_Number<T, Policy>& c) { - d = raw_value(c); -} - -} // namespace - PPL::dimension_type PPL::MIP_Problem::steepest_edge_float_entering_index() const { PPL_DIRTY_TEMP0(mpq_class, real_coeff); @@ -886,7 +870,7 @@ PPL::MIP_Problem::steepest_edge_float_entering_index() const { if (sgn(cost_j) == cost_sign) { // We cannot compute the (exact) square root of abs(\Delta x_j). // The workaround is to compute the square of `cost[j]'. - assign(challenger_num, cost_j); + assign_r(challenger_num, cost_j, ROUND_IGNORE); challenger_num = fabs(challenger_num); // Due to our integer implementation, the `1' term in the denominator // of the original formula has to be replaced by `squared_lcm_basis'. @@ -899,8 +883,7 @@ PPL::MIP_Problem::steepest_edge_float_entering_index() const { assign_r(real_coeff.get_num(), tableau_ij, ROUND_NOT_NEEDED); assign_r(real_coeff.get_den(), tableau_i[base[i]], ROUND_NOT_NEEDED); real_coeff.canonicalize(); - double float_tableau_value; - assign(float_tableau_value, real_coeff); + double float_tableau_value = real_coeff.get_d(); challenger_den += float_tableau_value * float_tableau_value; } } @@ -1565,7 +1548,7 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution, bool found_satisfiable_generator = true; PPL_DIRTY_TEMP_COEFFICIENT(gcd); const Coefficient& p_divisor = p.divisor(); - dimension_type nonint_dim; + dimension_type nonint_dim = lp.space_dimension(); for (Variables_Set::const_iterator v_begin = i_vars.begin(), v_end = i_vars.end(); v_begin != v_end; ++v_begin) { gcd_assign(gcd, p.coefficient(Variable(*v_begin)), p_divisor);
participants (1)
-
Enea Zaffanella