X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/05ba57aba59057a4101aa446a9923ecc71593ec0..244ffce80a9e2390e24b9788114de037e4ccc0ae:/src/mc/api/strategy/UniformStrategy.hpp diff --git a/src/mc/api/strategy/UniformStrategy.hpp b/src/mc/api/strategy/UniformStrategy.hpp index cc5bd85773..472c571d3a 100644 --- a/src/mc/api/strategy/UniformStrategy.hpp +++ b/src/mc/api/strategy/UniformStrategy.hpp @@ -9,12 +9,12 @@ #include "src/mc/transition/Transition.hpp" #include "xbt/random.hpp" -#define MAX_RAND 100000 - namespace simgrid::mc { /** Guiding strategy that valuate states randomly */ class UniformStrategy : public Strategy { + static constexpr int MAX_RAND = 100000; + std::map valuation; public: @@ -25,7 +25,7 @@ public: } void copy_from(const Strategy* strategy) override { - for (auto& [aid, _] : actors_to_run_) + for (auto const& [aid, _] : actors_to_run_) valuation[aid] = xbt::random::uniform_int(0, MAX_RAND); } @@ -35,7 +35,7 @@ public: // Consider only valid actors for (auto const& [aid, actor] : actors_to_run_) { - if ((actor.is_todo() or not must_be_todo) and (not actor.is_done()) and actor.is_enabled()) + if ((actor.is_todo() || not must_be_todo) && (not actor.is_done()) && actor.is_enabled()) possibilities++; } @@ -48,7 +48,7 @@ public: chosen = xbt::random::uniform_int(0, possibilities-1); for (auto const& [aid, actor] : actors_to_run_) { - if (((not actor.is_todo()) and must_be_todo) or actor.is_done() or (not actor.is_enabled())) + if (((not actor.is_todo()) && must_be_todo) || actor.is_done() || (not actor.is_enabled())) continue; if (chosen == 0) { return std::make_pair(aid, valuation.at(aid));