X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/41964ff94baca68cd488f6f7181b90c1ed547781..cff5886a1cc317d88f6083a641ea770f1f1cda83:/src/surf/maxmin.c diff --git a/src/surf/maxmin.c b/src/surf/maxmin.c index fc590cca0c..4d57218b17 100644 --- a/src/surf/maxmin.c +++ b/src/surf/maxmin.c @@ -177,6 +177,19 @@ void lmm_expand(lmm_system_t sys, lmm_constraint_t cnst, make_constraint_active(sys, cnst); } +void lmm_expand_add(lmm_system_t sys, lmm_constraint_t cnst, + lmm_variable_t var, double value) +{ + int i ; + sys->modified = 1; + + for(i=0; i< var->cnsts_number ; i++) + if(var->cnsts[i].constraint == cnst) break; + + if(icnsts_number) var->cnsts[i].value +=value; + else lmm_expand(sys,cnst,var,value); +} + lmm_constraint_t lmm_get_cnst_from_var(lmm_system_t sys, lmm_variable_t var, int num) { @@ -282,9 +295,9 @@ void lmm_solve(lmm_system_t sys) DEBUG1("cnst_list : %d", xbt_swag_size(cnst_list)); xbt_swag_foreach(cnst, cnst_list) { /* INIT */ - elem_list = &(cnst->element_set); cnst->remaining = cnst->bound; cnst->usage = 0; + elem_list = &(cnst->element_set); xbt_swag_foreach(elem, elem_list) { if(elem->variable->weight <=0) break; if ((elem->value > 0)) {