Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rename some symbols around Link::isShared to make their purpose clear
[simgrid.git] / src / surf / fair_bottleneck.cpp
index 0b8a77a..a0cd4c1 100644 (file)
@@ -1,10 +1,9 @@
-/* Copyright (c) 2007-2011. The SimGrid Team.
+/* Copyright (c) 2007-2011, 2013-2014. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-
 #include "xbt/sysdep.h"
 #include "xbt/log.h"
 #include "maxmin_private.hpp"
 #include "xbt/sysdep.h"
 #include "xbt/log.h"
 #include "maxmin_private.hpp"
@@ -103,7 +102,7 @@ void bottleneck_solve(lmm_system_t sys)
           nb++;
       }
       XBT_DEBUG("\tThere are %d variables", nb);
           nb++;
       }
       XBT_DEBUG("\tThere are %d variables", nb);
-      if (nb > 0 && !cnst->shared)
+      if (nb > 0 && !cnst->sharing_policy)
         nb = 1;
       if (!nb) {
         cnst->remaining = 0.0;
         nb = 1;
       if (!nb) {
         cnst->remaining = 0.0;
@@ -142,12 +141,12 @@ void bottleneck_solve(lmm_system_t sys)
         elem = (lmm_element_t)_elem;
         if (elem->variable->weight <= 0)
           break;
         elem = (lmm_element_t)_elem;
         if (elem->variable->weight <= 0)
           break;
-        if (cnst->shared) {
+        if (cnst->sharing_policy) {
           XBT_DEBUG("\tUpdate constraint %p (%g) with variable %p by %g",
                  cnst, cnst->remaining, elem->variable,
                  elem->variable->mu);
           double_update(&(cnst->remaining),
           XBT_DEBUG("\tUpdate constraint %p (%g) with variable %p by %g",
                  cnst, cnst->remaining, elem->variable,
                  elem->variable->mu);
           double_update(&(cnst->remaining),
-                        elem->value * elem->variable->mu);
+                        elem->value * elem->variable->mu, sg_maxmin_precision);
         } else {
           XBT_DEBUG
               ("\tNon-Shared variable. Update constraint usage of %p (%g) with variable %p by %g",
         } else {
           XBT_DEBUG
               ("\tNon-Shared variable. Update constraint usage of %p (%g) with variable %p by %g",
@@ -155,11 +154,11 @@ void bottleneck_solve(lmm_system_t sys)
           cnst->usage = MIN(cnst->usage, elem->value * elem->variable->mu);
         }
       }
           cnst->usage = MIN(cnst->usage, elem->value * elem->variable->mu);
         }
       }
-      if (!cnst->shared) {
+      if (!cnst->sharing_policy) {
         XBT_DEBUG("\tUpdate constraint %p (%g) by %g",
                cnst, cnst->remaining, cnst->usage);
 
         XBT_DEBUG("\tUpdate constraint %p (%g) by %g",
                cnst, cnst->remaining, cnst->usage);
 
-        double_update(&(cnst->remaining), cnst->usage);
+        double_update(&(cnst->remaining), cnst->usage, sg_maxmin_precision);
       }
 
       XBT_DEBUG("\tRemaining for %p : %g", cnst, cnst->remaining);
       }
 
       XBT_DEBUG("\tRemaining for %p : %g", cnst, cnst->remaining);