Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
namespacing cleanups
[simgrid.git] / src / kernel / lmm / maxmin.hpp
index 4e88bba..08627d5 100644 (file)
@@ -174,7 +174,7 @@ public:
  *     the corresponding action will enable it (at least this is the idea).
  * \li Enabled elements which variable's weight is non-zero. They are utilized in some LMM functions.
  * \li Active elements which variable's weight is non-zero (i.e. it is enabled) AND its element value is non-zero.
- *     LMM_solve iterates over active elements during resolution, dynamically making them active or unactive.
+ *     LMM_solve iterates over active elements during resolution, dynamically making them active or inactive.
  */
 class XBT_PUBLIC Constraint {
 public:
@@ -275,7 +275,7 @@ public:
   ConstraintLight* cnst_light_;
 
 private:
-  static int next_rank_;  // To give a separate rank_ to each contraint
+  static int next_rank_;  // To give a separate rank_ to each constraint
   int concurrency_limit_; /* The maximum number of variables that may be enabled at any time (stage variables if
                            * necessary) */
   resource::Resource* id_;
@@ -371,7 +371,7 @@ inline void Element::make_active()
 inline void Element::make_inactive()
 {
   if (active_element_set_hook.is_linked())
-    simgrid::xbt::intrusive_erase(constraint->active_element_set_, *this);
+    xbt::intrusive_erase(constraint->active_element_set_, *this);
 }
 
 /**
@@ -475,9 +475,9 @@ private:
   void remove_variable(Variable * var)
   {
     if (var->variable_set_hook_.is_linked())
-      simgrid::xbt::intrusive_erase(variable_set, *var);
+      xbt::intrusive_erase(variable_set, *var);
     if (var->saturated_variable_set_hook_.is_linked())
-      simgrid::xbt::intrusive_erase(saturated_variable_set, *var);
+      xbt::intrusive_erase(saturated_variable_set, *var);
   }
   void make_constraint_active(Constraint * cnst)
   {
@@ -487,9 +487,9 @@ private:
   void make_constraint_inactive(Constraint * cnst)
   {
     if (cnst->active_constraint_set_hook_.is_linked())
-      simgrid::xbt::intrusive_erase(active_constraint_set, *cnst);
+      xbt::intrusive_erase(active_constraint_set, *cnst);
     if (cnst->modified_constraint_set_hook_.is_linked())
-      simgrid::xbt::intrusive_erase(modified_constraint_set, *cnst);
+      xbt::intrusive_erase(modified_constraint_set, *cnst);
   }
 
   void enable_var(Variable * var);
@@ -531,6 +531,13 @@ public:
   resource::Action::ModifiedSet* modified_set_ = nullptr;
 
 private:
+
+  typedef std::vector<int> dyn_light_t;
+  
+  //Data used in lmm::solve
+  std::vector<ConstraintLight> cnst_light_vec;
+  dyn_light_t saturated_constraints;
+
   bool selective_update_active; /* flag to update partially the system only selecting changed portions */
   unsigned visited_counter_ = 1; /* used by System::update_modified_set() and System::remove_all_modified_set() to
                                   * cleverly (un-)flag the constraints (more details in these functions) */
@@ -557,8 +564,8 @@ XBT_PUBLIC System* make_new_maxmin_system(bool selective_update);
 XBT_PUBLIC System* make_new_fair_bottleneck_system(bool selective_update);
 
 /** @} */
-}
-}
-}
+} // namespace lmm
+} // namespace kernel
+} // namespace simgrid
 
 #endif