From 5c83394d7f1f7e2aa6d9d2fa7467afa4da9b7bd9 Mon Sep 17 00:00:00 2001 From: alegrand Date: Sat, 20 Nov 2004 00:13:14 +0000 Subject: [PATCH] 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 --- src/include/surf/maxmin.h | 2 ++ src/surf/maxmin.c | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) 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) */ -- 2.20.1