Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
document last change
[simgrid.git] / src / surf / maxmin.c
index bdee4b2..ccafa55 100644 (file)
@@ -86,7 +86,6 @@ static void lmm_var_free(lmm_system_t sys, lmm_variable_t var)
 {
 
   lmm_variable_disable(sys, var);
-  memset(var->cnsts,0,var->cnsts_size*sizeof(s_lmm_element_t));
   free(var->cnsts);
   xbt_mallocator_release(sys->variable_mallocator, var);
 }
@@ -363,7 +362,7 @@ static void lmm_print(lmm_system_t sys)
     strcat(trace_buf, print_buf);
     xbt_swag_foreach(elem, elem_list) {
       sprintf(print_buf,"%f.'%p'(%f) + ",elem->value, 
-             elem->variable,elem->variable->weight);
+             elem->variable,elem->variable->value);
       trace_buf = xbt_realloc(trace_buf,strlen(trace_buf)+strlen(print_buf)+1);
       strcat(trace_buf, print_buf);
       sum += elem->value * elem->variable->value;
@@ -466,8 +465,8 @@ void lmm_solve(lmm_system_t sys)
        elem = &var->cnsts[i];
        cnst = elem->constraint;
        if(cnst->shared) {
-         cnst->remaining -= elem->value * var->value;
-         cnst->usage -= elem->value / var->weight;
+         double_update(&(cnst->remaining), elem->value * var->value);
+         double_update(&(cnst->usage), elem->value / var->weight);
        }
        make_elem_inactive(elem);
       }