Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2023.
[simgrid.git] / src / kernel / resource / Model.cpp
index 4018999..4df935e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2004-2022. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2004-2023. 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. */
@@ -8,9 +8,7 @@
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(ker_resource);
 
-namespace simgrid {
-namespace kernel {
-namespace resource {
+namespace simgrid::kernel::resource {
 
 Model::Model(const std::string& name) : name_(name)
 {
@@ -27,7 +25,7 @@ Model* Model::set_update_algorithm(Model::UpdateAlgo algo)
 
 Action::ModifiedSet* Model::get_modified_set() const
 {
-  return maxmin_system_->modified_set_.get();
+  return maxmin_system_->get_modified_action_set();
 }
 
 void Model::set_maxmin_system(lmm::System* system)
@@ -49,13 +47,15 @@ double Model::next_occurring_event(double now)
 
 double Model::next_occurring_event_lazy(double now)
 {
-  XBT_DEBUG("Before share resources, the size of modified actions set is %zu", maxmin_system_->modified_set_->size());
-  maxmin_system_->lmm_solve();
-  XBT_DEBUG("After share resources, The size of modified actions set is %zu", maxmin_system_->modified_set_->size());
+  XBT_DEBUG("Before share resources, the size of modified actions set is %zu",
+            maxmin_system_->get_modified_action_set()->size());
+  maxmin_system_->solve();
+  Action::ModifiedSet* modified_action_set = maxmin_system_->get_modified_action_set();
+  XBT_DEBUG("After share resources, The size of modified actions set is %zu", modified_action_set->size());
 
-  while (not maxmin_system_->modified_set_->empty()) {
-    Action* action = &(maxmin_system_->modified_set_->front());
-    maxmin_system_->modified_set_->pop_front();
+  while (not modified_action_set->empty()) {
+    Action* action = &(modified_action_set->front());
+    modified_action_set->pop_front();
     ActionHeap::Type action_type = ActionHeap::Type::normal;
 
     if (action->get_state_set() != &started_action_set_)
@@ -117,8 +117,7 @@ double Model::next_occurring_event_full(double /*now*/)
   double min = -1;
 
   for (Action& action : *get_started_action_set()) {
-    double value = action.get_rate();
-    if (value > 0) {
+    if (double value = action.get_rate(); value > 0) {
       if (action.get_remains() > 0)
         value = action.get_remains_no_update() / value;
       else
@@ -180,6 +179,4 @@ void Model::update_actions_state_full(double /*now*/, double /*delta*/)
   THROW_UNIMPLEMENTED;
 }
 
-} // namespace resource
-} // namespace kernel
-} // namespace simgrid
+} // namespace simgrid::kernel::resource