From 6e7777407cfcb424b0ce00106e26835bb5688290 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 30 Nov 2017 17:17:58 +0100 Subject: [PATCH] More const references in lagrange. --- src/kernel/lmm/lagrange.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/kernel/lmm/lagrange.cpp b/src/kernel/lmm/lagrange.cpp index fbd9ebff93..17f1d84d10 100644 --- a/src/kernel/lmm/lagrange.cpp +++ b/src/kernel/lmm/lagrange.cpp @@ -93,29 +93,29 @@ static int __check_feasible(xbt_swag_t cnst_list, xbt_swag_t var_list, int warn) return 1; } -static double new_value(lmm_variable_t var) +static double new_value(const s_lmm_variable_t& var) { double tmp = 0; - for (s_lmm_element_t const& elem : var->cnsts) { + for (s_lmm_element_t const& elem : var.cnsts) { tmp += elem.constraint->lambda; } - if (var->bound > 0) - tmp += var->mu; - XBT_DEBUG("\t Working on var (%p). cost = %e; Weight = %e", var, tmp, var->sharing_weight); + if (var.bound > 0) + tmp += var.mu; + XBT_DEBUG("\t Working on var (%p). cost = %e; Weight = %e", &var, tmp, var.sharing_weight); // uses the partial differential inverse function - return var->func_fpi(*var, tmp); + return var.func_fpi(var, tmp); } -static double new_mu(lmm_variable_t var) +static double new_mu(const s_lmm_variable_t& var) { double mu_i = 0.0; double sigma_i = 0.0; - for (s_lmm_element_t const& elem : var->cnsts) { + for (s_lmm_element_t const& elem : var.cnsts) { sigma_i += elem.constraint->lambda; } - mu_i = var->func_fp(*var, var->bound) - sigma_i; + mu_i = var.func_fp(var, var.bound) - sigma_i; if (mu_i < 0.0) return 0.0; return mu_i; @@ -212,7 +212,7 @@ void lagrange_solve(lmm_system_t sys) var->mu = 1.0; var->new_mu = 2.0; } - var->value = new_value(var); + var->value = new_value(*var); XBT_DEBUG("#### var(%p) ->weight : %e", var, var->sharing_weight); XBT_DEBUG("#### var(%p) ->mu : %e", var, var->mu); XBT_DEBUG("#### var(%p) ->weight: %e", var, var->sharing_weight); @@ -240,7 +240,7 @@ void lagrange_solve(lmm_system_t sys) lmm_variable_t var = static_cast(_var); if (var->sharing_weight && var->bound >= 0) { XBT_DEBUG("Working on var (%p)", var); - var->new_mu = new_mu(var); + var->new_mu = new_mu(*var); XBT_DEBUG("Updating mu : var->mu (%p) : %1.20f -> %1.20f", var, var->mu, var->new_mu); var->mu = var->new_mu; @@ -275,7 +275,7 @@ void lagrange_solve(lmm_system_t sys) if (var->sharing_weight <= 0) var->value = 0.0; else { - double tmp = new_value(var); + double tmp = new_value(*var); overall_modification = std::max(overall_modification, fabs(var->value - tmp)); -- 2.20.1