X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fa33c62c831c17237ac38960b24596560ad3804d..cef6554994ae17d8f56c9245ad2c10c7cf39af8c:/src/mc/api/State.cpp diff --git a/src/mc/api/State.cpp b/src/mc/api/State.cpp index aff9d5cb60..52ffde6044 100644 --- a/src/mc/api/State.cpp +++ b/src/mc/api/State.cpp @@ -212,9 +212,8 @@ void State::seed_wakeup_tree_if_needed(const odpor::Execution& prior) // Find an enabled transition to pick for (const auto& [_, actor] : get_actors_list()) { if (actor.is_enabled()) { - // For each variant of the transition, we want - // to insert the action into the tree. This ensures - // that all variants are searched + // For each variant of the transition that is enabled, we want to insert the action into the tree. + // This ensures that all variants are searched for (unsigned times = 0; times < actor.get_max_considered(); ++times) { wakeup_tree_.insert(prior, odpor::PartialExecution{actor.get_transition(times)}); } @@ -228,10 +227,9 @@ void State::seed_wakeup_tree_if_needed(const odpor::Execution& prior) void State::sprout_tree_from_parent_state() { - XBT_DEBUG("Initializing Wut with parent one:"); - XBT_DEBUG("\n%s", parent_state_->wakeup_tree_.string_of_whole_tree().c_str()); + XBT_DEBUG("Initializing Wut with parent one:"); + XBT_DEBUG("\n%s", parent_state_->wakeup_tree_.string_of_whole_tree().c_str()); - xbt_assert(parent_state_ != nullptr, "Attempting to construct a wakeup tree for the root state " "(or what appears to be, rather for state without a parent defined)"); const auto min_process_node = parent_state_->wakeup_tree_.get_min_single_process_node(); @@ -271,6 +269,11 @@ void State::remove_subtree_using_current_out_transition() wakeup_tree_.remove_min_single_process_subtree(); } +void State::remove_subtree_at_aid(const aid_t proc) +{ + wakeup_tree_.remove_subtree_at_aid(proc); +} + odpor::WakeupTree::InsertionResult State::insert_into_wakeup_tree(const odpor::PartialExecution& pe, const odpor::Execution& E) {