X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d1f873975cf6b465d3ba98df6a7b5d664f2d0a55..d276a42405091143c5b3e204d38068c4cec47904:/src/surf/maxmin.c diff --git a/src/surf/maxmin.c b/src/surf/maxmin.c index dcb4b7064c..250e3e7b28 100644 --- a/src/surf/maxmin.c +++ b/src/surf/maxmin.c @@ -246,9 +246,10 @@ void lmm_expand_add(lmm_system_t sys, lmm_constraint_t cnst, if (var->cnsts[i].constraint == cnst) break; - if (i < var->cnsts_number) - var->cnsts[i].value += value; - else + if (i < var->cnsts_number) { + if(cnst->shared) var->cnsts[i].value += value; + else var->cnsts[i].value = MAX(var->cnsts[i].value,value); + } else lmm_expand(sys, cnst, var, value); } @@ -421,9 +422,9 @@ void lmm_print(lmm_system_t sys) } DEBUG1("%s", trace_buf); trace_buf[0] = '\000'; - if (double_positive(sum - cnst->bound)) - WARN3("Incorrect value (%f is not smaller than %f): %g", - sum, cnst->bound, sum - cnst->bound); + xbt_assert3(!double_positive(sum - cnst->bound), + "Incorrect value (%f is not smaller than %f): %g", + sum, cnst->bound, sum - cnst->bound); } DEBUG0("Variables"); @@ -432,9 +433,9 @@ void lmm_print(lmm_system_t sys) if (var->bound > 0) { DEBUG4("'%p'(%f) : %f (<=%f)", var, var->weight, var->value, var->bound); - if (double_positive(var->value - var->bound)) - WARN2("Incorrect value (%f is not smaller than %f", - var->value, var->bound); + xbt_assert2(!double_positive(var->value - var->bound), + "Incorrect value (%f is not smaller than %f", + var->value, var->bound); } else DEBUG3("'%p'(%f) : %f", var, var->weight, var->value); }