From: alegrand Date: Sat, 20 Nov 2004 00:13:14 +0000 (+0000) Subject: Bug fix and add a fonction indicating whether a constraint is active or not. X-Git-Tag: v3.3~4829 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/5c83394d7f1f7e2aa6d9d2fa7467afa4da9b7bd9?hp=91f0f8acd7bb93039252812ab45521b948ff50f4 Bug fix and add a fonction indicating whether a constraint is active or not. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@521 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/include/surf/maxmin.h b/src/include/surf/maxmin.h index 1d76633441..e0b072368d 100644 --- a/src/include/surf/maxmin.h +++ b/src/include/surf/maxmin.h @@ -40,5 +40,7 @@ void lmm_update_variable_weight(lmm_variable_t var, void lmm_update_constraint_bound(lmm_constraint_t cnst, xbt_maxmin_float_t bound); +int lmm_constraint_used(lmm_system_t sys, lmm_constraint_t cnst); + void lmm_solve(lmm_system_t sys); #endif /* _SURF_MAXMIN_H */ diff --git a/src/surf/maxmin.c b/src/surf/maxmin.c index 7660fb1377..018d6b03c8 100644 --- a/src/surf/maxmin.c +++ b/src/surf/maxmin.c @@ -173,9 +173,9 @@ static void saturated_constraints_update(lmm_system_t sys, *min_usage = cnst->remaining / cnst->usage; - while (xbt_swag_extract - (useless_cnst, &(sys->saturated_constraint_set))) { - } + while ((useless_cnst = xbt_swag_getFirst(&(sys->saturated_constraint_set)))) + xbt_swag_extract(useless_cnst, &(sys->saturated_constraint_set)); + xbt_swag_insert(cnst, &(sys->saturated_constraint_set)); } else if (*min_usage == cnst->remaining / cnst->usage) { xbt_swag_insert(cnst, &(sys->saturated_constraint_set)); @@ -313,6 +313,10 @@ void lmm_update_constraint_bound(lmm_constraint_t cnst, cnst->bound = bound; } +int lmm_constraint_used(lmm_system_t sys, lmm_constraint_t cnst) +{ + return xbt_swag_belongs(cnst,&(sys->active_constraint_set)); +} /* void lmm_print(lmm_system_t sys) */