X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/eb5b6b0c3c4d9a38bb205b2c8bc9aeeba8674a25..3fc07005abb54bbceec067c73455b50f96e5d908:/src/surf/lagrange.cpp diff --git a/src/surf/lagrange.cpp b/src/surf/lagrange.cpp index ad8eabcc46..1efd8ac7cb 100644 --- a/src/surf/lagrange.cpp +++ b/src/surf/lagrange.cpp @@ -44,22 +44,21 @@ static int __check_feasible(xbt_swag_t cnst_list, xbt_swag_t var_list, int warn) { void *_cnst, *_elem, *_var; - xbt_swag_t elem_list = NULL; - lmm_element_t elem = NULL; - lmm_constraint_t cnst = NULL; - lmm_variable_t var = NULL; + xbt_swag_t elem_list = nullptr; + lmm_element_t elem = nullptr; + lmm_constraint_t cnst = nullptr; + lmm_variable_t var = nullptr; double tmp; xbt_swag_foreach(_cnst, cnst_list) { - cnst = (lmm_constraint_t)_cnst; + cnst = (lmm_constraint_t)_cnst; tmp = 0; - elem_list = &(cnst->element_set); + elem_list = &(cnst->enabled_element_set); xbt_swag_foreach(_elem, elem_list) { elem = (lmm_element_t)_elem; var = elem->variable; - if (var->weight <= 0) - continue; + xbt_assert(var->weight > 0); tmp += var->value; } @@ -76,7 +75,7 @@ static int __check_feasible(xbt_swag_t cnst_list, xbt_swag_t var_list, } xbt_swag_foreach(_var, var_list) { - var = (lmm_variable_t)_var; + var = (lmm_variable_t)_var; if (!var->weight) break; if (var->bound < 0) @@ -129,13 +128,13 @@ static double new_mu(lmm_variable_t var) static double dual_objective(xbt_swag_t var_list, xbt_swag_t cnst_list) { void *_cnst, *_var; - lmm_constraint_t cnst = NULL; - lmm_variable_t var = NULL; + lmm_constraint_t cnst = nullptr; + lmm_variable_t var = nullptr; double obj = 0.0; xbt_swag_foreach(_var, var_list) { - var = (lmm_variable_t)_var; + var = (lmm_variable_t)_var; double sigma_i = 0.0; int j; @@ -179,13 +178,13 @@ void lagrange_solve(lmm_system_t sys) * Variables to manipulate the data structure proposed to model the maxmin * fairness. See docummentation for more details. */ - xbt_swag_t cnst_list = NULL; + xbt_swag_t cnst_list = nullptr; void *_cnst; - lmm_constraint_t cnst = NULL; + lmm_constraint_t cnst = nullptr; - xbt_swag_t var_list = NULL; + xbt_swag_t var_list = nullptr; void *_var; - lmm_variable_t var = NULL; + lmm_variable_t var = nullptr; /* * Auxiliary variables. @@ -215,7 +214,7 @@ void lagrange_solve(lmm_system_t sys) */ cnst_list = &(sys->active_constraint_set); xbt_swag_foreach(_cnst, cnst_list) { - cnst = (lmm_constraint_t)_cnst; + cnst = (lmm_constraint_t)_cnst; cnst->lambda = 1.0; cnst->new_lambda = 2.0; XBT_DEBUG("#### cnst(%p)->lambda : %e", cnst, cnst->lambda); @@ -228,7 +227,7 @@ void lagrange_solve(lmm_system_t sys) var_list = &(sys->variable_set); i = 0; xbt_swag_foreach(_var, var_list) { - var = (lmm_variable_t)_var; + var = (lmm_variable_t)_var; if (!var->weight) var->value = 0.0; else { @@ -493,24 +492,22 @@ static double partial_diff_lambda(double lambda, void *param_cnst) int j; void *_elem; - xbt_swag_t elem_list = NULL; - lmm_element_t elem = NULL; - lmm_variable_t var = NULL; + xbt_swag_t elem_list = nullptr; + lmm_element_t elem = nullptr; + lmm_variable_t var = nullptr; lmm_constraint_t cnst = (lmm_constraint_t) param_cnst; double diff = 0.0; double sigma_i = 0.0; XBT_IN(); - elem_list = &(cnst->element_set); + elem_list = &(cnst->enabled_element_set); XBT_CDEBUG(surf_lagrange_dichotomy, "Computing diff of cnst (%p)", cnst); xbt_swag_foreach(_elem, elem_list) { - elem = (lmm_element_t)_elem; + elem = (lmm_element_t)_elem; var = elem->variable; - if (var->weight <= 0) - continue; - + xbt_assert(var->weight > 0); XBT_CDEBUG(surf_lagrange_dichotomy, "Computing sigma_i for var (%p)", var); // Initialize the summation variable