static void lmm_variable_mallocator_reset_f(void *var);
static void lmm_update_modified_set(lmm_system_t sys, lmm_constraint_t cnst);
static void lmm_remove_all_modified_set(lmm_system_t sys);
-int sg_maxmin_selective_update = 0;
+int sg_maxmin_selective_update = 1;
static int Global_debug_id = 1;
static int Global_const_debug_id = 1;
lmm_system_t lmm_system_new(void)
free(sys);
}
-void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var)
+XBT_INLINE void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var)
{
int i;
lmm_element_t elem = NULL;
return var->id;
}
-static void saturated_constraint_set_update(lmm_system_t sys,
+static XBT_INLINE void saturated_constraint_set_update(lmm_system_t sys,
lmm_constraint_t cnst,
double *min_usage)
{
XBT_OUT;
}
-static void saturated_variable_set_update(lmm_system_t sys)
+static XBT_INLINE void saturated_variable_set_update(lmm_system_t sys)
{
lmm_constraint_t cnst = NULL;
xbt_swag_t cnst_list = NULL;
} else { /* FIXME one day: We recompute usage.... :( */
cnst->usage = 0.0;
make_elem_inactive(elem);
+ elem_list = &(cnst->element_set);
xbt_swag_foreach(elem, elem_list) {
if (elem->variable->weight <= 0)
break;
if (elem->variable->value > 0)
break;
if ((elem->value > 0)) {
- if (cnst->usage < elem->value / elem->variable->weight)
- cnst->usage = elem->value / elem->variable->weight;
+ cnst->usage=MAX(cnst->usage,elem->value / elem->variable->weight);
DEBUG2("Constraint Usage %d : %f", cnst->id_int, cnst->usage);
make_elem_active(elem);
}