Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove redundant assignment in lmm_solve.
[simgrid.git] / src / surf / maxmin.c
index 0c370f0..34c6d4c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2004-2011. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -19,7 +19,7 @@ double sg_maxmin_precision = 0.00001;
 
 static void *lmm_variable_mallocator_new_f(void);
 static void lmm_variable_mallocator_free_f(void *var);
-static void lmm_variable_mallocator_reset_f(void *var);
+#define lmm_variable_mallocator_reset_f ((void_f_pvoid_t)NULL)
 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);
@@ -89,7 +89,7 @@ XBT_INLINE void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var)
   int i;
   lmm_element_t elem = NULL;
 
-  XBT_IN_F("(sys=%p, var=%p)", sys, var);
+  XBT_IN("(sys=%p, var=%p)", sys, var);
   sys->modified = 1;
 
   for (i = 0; i < var->cnsts_number; i++) {
@@ -102,7 +102,7 @@ XBT_INLINE void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var)
       lmm_update_modified_set(sys, elem->constraint);
   }
   var->cnsts_number = 0;
-  XBT_OUT;
+  XBT_OUT();
 }
 
 static void lmm_var_free(lmm_system_t sys, lmm_variable_t var)
@@ -115,7 +115,7 @@ static void lmm_var_free(lmm_system_t sys, lmm_variable_t var)
 static XBT_INLINE void lmm_cnst_free(lmm_system_t sys,
                                      lmm_constraint_t cnst)
 {
-/*   xbt_assert0(xbt_swag_size(&(cnst->element_set)), */
+/*   xbt_assert(xbt_swag_size(&(cnst->element_set)), */
 /*           "This list should be empty!"); */
   remove_active_constraint(sys, cnst);
   free(cnst);
@@ -173,11 +173,6 @@ static void lmm_variable_mallocator_free_f(void *var)
   xbt_free(var);
 }
 
-static void lmm_variable_mallocator_reset_f(void *var)
-{
-  /* lmm_variable_new() initializes everything */
-}
-
 lmm_variable_t lmm_variable_new(lmm_system_t sys, void *id,
                                 double weight,
                                 double bound, int number_of_constraints)
@@ -185,7 +180,7 @@ lmm_variable_t lmm_variable_new(lmm_system_t sys, void *id,
   lmm_variable_t var = NULL;
   int i;
 
-  XBT_IN_F("(sys=%p, id=%p, weight=%f, bound=%f, num_cons =%d)",
+  XBT_IN("(sys=%p, id=%p, weight=%f, bound=%f, num_cons =%d)",
           sys, id, weight, bound, number_of_constraints);
 
   var = xbt_mallocator_get(sys->variable_mallocator);
@@ -222,7 +217,7 @@ lmm_variable_t lmm_variable_new(lmm_system_t sys, void *id,
     xbt_swag_insert_at_head(var, &(sys->variable_set));
   else
     xbt_swag_insert_at_tail(var, &(sys->variable_set));
-  XBT_OUT;
+  XBT_OUT();
   return var;
 }
 
@@ -249,7 +244,7 @@ void lmm_expand(lmm_system_t sys, lmm_constraint_t cnst,
 
   sys->modified = 1;
 
-  xbt_assert0(var->cnsts_number < var->cnsts_size, "Too much constraints");
+  xbt_assert(var->cnsts_number < var->cnsts_size, "Too much constraints");
 
   elem = &(var->cnsts[var->cnsts_number++]);
 
@@ -350,13 +345,13 @@ static XBT_INLINE void saturated_constraint_set_update(lmm_system_t sys,
 {
   lmm_constraint_t useless_cnst = NULL;
 
-  XBT_IN_F("sys=%p, cnst=%p, min_usage=%f", sys, cnst, *min_usage);
+  XBT_IN("sys=%p, cnst=%p, min_usage=%f", sys, cnst, *min_usage);
   if (cnst->usage <= 0) {
-    XBT_OUT;
+    XBT_OUT();
     return;
   }
   if (cnst->remaining <= 0) {
-    XBT_OUT;
+    XBT_OUT();
     return;
   }
   if ((*min_usage < 0) || (*min_usage > cnst->remaining / cnst->usage)) {
@@ -372,7 +367,7 @@ static XBT_INLINE void saturated_constraint_set_update(lmm_system_t sys,
   } else if (*min_usage == cnst->remaining / cnst->usage) {
     xbt_swag_insert(cnst, &(sys->saturated_constraint_set));
   }
-  XBT_OUT;
+  XBT_OUT();
 }
 
 static XBT_INLINE void saturated_variable_set_update(lmm_system_t sys)
@@ -423,8 +418,7 @@ void lmm_print(lmm_system_t sys)
   trace_buf =
       xbt_realloc(trace_buf, strlen(trace_buf) + strlen(print_buf) + 1);
   strcat(trace_buf, print_buf);
-  fprintf(stderr, "%s", trace_buf);
-  //XBT_DEBUG("%20s", trace_buf); FIXME
+  XBT_DEBUG("%20s", trace_buf);
   trace_buf[0] = '\000';
 
   XBT_DEBUG("Constraints");
@@ -466,10 +460,9 @@ void lmm_print(lmm_system_t sys)
                       strlen(trace_buf) + strlen(print_buf) + 1);
       strcat(trace_buf, print_buf);
     }
-    //   XBT_DEBUG("%s", trace_buf);
-    fprintf(stderr, "%s\n", trace_buf);
+    XBT_DEBUG("%s", trace_buf);
     trace_buf[0] = '\000';
-    xbt_assert3(!double_positive(sum - cnst->bound),
+    xbt_assert(!double_positive(sum - cnst->bound),
                 "Incorrect value (%f is not smaller than %f): %g",
                 sum, cnst->bound, sum - cnst->bound);
   }
@@ -480,7 +473,7 @@ void lmm_print(lmm_system_t sys)
     if (var->bound > 0) {
       XBT_DEBUG("'%d'(%f) : %f (<=%f)", var->id_int, var->weight, var->value,
              var->bound);
-      xbt_assert2(!double_positive(var->value - var->bound),
+      xbt_assert(!double_positive(var->value - var->bound),
                   "Incorrect value (%f is not smaller than %f",
                   var->value, var->bound);
     } else {
@@ -505,7 +498,7 @@ void lmm_solve(lmm_system_t sys)
   if (!(sys->modified))
     return;
 
-  XBT_IN_F("(sys=%p)", sys);
+  XBT_IN("(sys=%p)", sys);
 
   /*
    * Compute Usage and store the variables that reach the maximum.
@@ -631,9 +624,6 @@ void lmm_solve(lmm_system_t sys)
     }
 
     /* Find out which variables reach the maximum */
-    cnst_list =
-        sys->selective_update_active ? &(sys->modified_constraint_set) :
-        &(sys->active_constraint_set);
     min_usage = -1;
     min_bound = -1;
     xbt_swag_foreach(cnst, cnst_list) {
@@ -650,7 +640,7 @@ void lmm_solve(lmm_system_t sys)
   if (XBT_LOG_ISENABLED(surf_maxmin, xbt_log_priority_debug)) {
     lmm_print(sys);
   }
-  XBT_OUT;
+  XBT_OUT();
 }
 
 /* Not a O(1) function */
@@ -703,7 +693,7 @@ void lmm_update_variable_weight(lmm_system_t sys, lmm_variable_t var,
 
   if (weight == var->weight)
     return;
-  XBT_IN_F("(sys=%p, var=%p, weight=%f)", sys, var, weight);
+  XBT_IN("(sys=%p, var=%p, weight=%f)", sys, var, weight);
   sys->modified = 1;
   var->weight = weight;
   xbt_swag_remove(var, &(sys->variable_set));
@@ -725,7 +715,7 @@ void lmm_update_variable_weight(lmm_system_t sys, lmm_variable_t var,
   if (!weight)
     var->value = 0.0;
 
-  XBT_OUT;
+  XBT_OUT();
 }
 
 XBT_INLINE double lmm_get_variable_weight(lmm_variable_t var)
@@ -818,12 +808,11 @@ static void lmm_update_modified_set(lmm_system_t sys,
  */
 static void lmm_remove_all_modified_set(lmm_system_t sys)
 {
-  lmm_element_t elem = NULL;
-  lmm_element_t elem_next = NULL;
-  xbt_swag_t elem_list = NULL;
+  xbt_swag_t modified_constraint_set = &sys->modified_constraint_set;
+  lmm_constraint_t cnst;
+  lmm_constraint_t cnst_next;
 
-  elem_list = &(sys->modified_constraint_set);
-  xbt_swag_foreach_safe(elem, elem_next, elem_list) {
-    xbt_swag_remove(elem, elem_list);
+  xbt_swag_foreach_safe(cnst, cnst_next, modified_constraint_set) {
+    xbt_swag_remove(cnst, modified_constraint_set);
   }
 }