int Variable::Global_debug_id = 1;
int Constraint::Global_debug_id = 1;
+System* make_new_maxmin_system(bool selective_update)
+{
+ return new System(selective_update);
+}
+
int Element::get_concurrency() const
{
// Ignore element with weight less than one (e.g. cross-traffic)
variable_mallocator =
xbt_mallocator_new(65536, System::variable_mallocator_new_f, System::variable_mallocator_free_f, nullptr);
- solve_fun = &lmm_solve;
}
System::~System()
}
}
-void System::solve()
+void System::lmm_solve()
{
if (modified) {
XBT_IN("(sys=%p)", this);
* constraints that changed are considered. Otherwise all constraints with active actions are considered.
*/
if (selective_update_active)
- solve(modified_constraint_set);
+ lmm_solve(modified_constraint_set);
else
- solve(active_constraint_set);
+ lmm_solve(active_constraint_set);
XBT_OUT();
}
}
-template <class CnstList> void System::solve(CnstList& cnst_list)
+template <class CnstList> void System::lmm_solve(CnstList& cnst_list)
{
double min_usage = -1;
double min_bound = -1;
elem.make_active();
simgrid::kernel::resource::Action* action = static_cast<simgrid::kernel::resource::Action*>(elem.variable->id);
- if (modified_set_ && not action->isLinkedModifiedSet())
+ if (modified_set_ && not action->is_within_modified_set())
modified_set_->push_back(*action);
}
}
delete[] cnst_light_tab;
}
-void lmm_solve(System* sys)
-{
- sys->solve();
-}
-
/** \brief Attribute the value bound to var->bound.
*
* \param var the Variable*