Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill typedef lmm_element_t
[simgrid.git] / src / kernel / lmm / maxmin.cpp
index b9c5b41..aace67e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2004-2017. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2004-2018. 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. */
@@ -150,7 +150,6 @@ System::System(bool selective_update) : selective_update_active(selective_update
 
   XBT_DEBUG("Setting selective_update_active flag to %d", selective_update_active);
 
-  keep_track          = nullptr;
   variable_mallocator =
       xbt_mallocator_new(65536, System::variable_mallocator_new_f, System::variable_mallocator_free_f, nullptr);
   solve_fun = &lmm_solve;
@@ -171,6 +170,7 @@ System::~System()
     cnst_free(cnst);
 
   xbt_mallocator_free(variable_mallocator);
+  delete modified_set_;
 }
 
 void System::cnst_free(Constraint* cnst)
@@ -412,7 +412,7 @@ static inline void saturated_constraints_update(double usage, int cnst_light_num
 }
 
 static inline void saturated_variable_set_update(ConstraintLight* cnst_light_tab,
-                                                 const dyn_light_t& saturated_constraints, lmm_system_t sys)
+                                                 const dyn_light_t& saturated_constraints, System* sys)
 {
   /* Add active variables (i.e. variables that need to be set) from the set of constraints to saturate
    * (cnst_light_tab)*/
@@ -536,8 +536,8 @@ template <class CnstList> void System::solve(CnstList& cnst_list)
 
         elem.make_active();
         simgrid::kernel::resource::Action* action = static_cast<simgrid::kernel::resource::Action*>(elem.variable->id);
-        if (keep_track && not action->isLinkedModifiedSet())
-          keep_track->push_back(*action);
+        if (modified_set_ && not action->isLinkedModifiedSet())
+          modified_set_->push_back(*action);
       }
     }
     XBT_DEBUG("Constraint '%d' usage: %f remaining: %f concurrency: %i<=%i<=%i", cnst.id_int, cnst.usage,
@@ -690,7 +690,7 @@ template <class CnstList> void System::solve(CnstList& cnst_list)
   delete[] cnst_light_tab;
 }
 
-void lmm_solve(lmm_system_t sys)
+void lmm_solve(System* sys)
 {
   sys->solve();
 }
@@ -817,12 +817,12 @@ void System::on_disabled_var(Constraint* cnstr)
   if (not numelem)
     return;
 
-  lmm_element_t elem = &cnstr->disabled_element_set.front();
+  Element* elem = &cnstr->disabled_element_set.front();
 
   // Cannot use foreach loop, because System::enable_var() will modify disabled_element_set.. within the loop
   while (numelem-- && elem) {
 
-    lmm_element_t nextelem;
+    Element* nextelem;
     if (elem->disabled_element_set_hook.is_linked()) {
       auto iter = std::next(cnstr->disabled_element_set.iterator_to(*elem));
       nextelem  = iter != std::end(cnstr->disabled_element_set) ? &*iter : nullptr;