event_list.at(initial_size).date_ += loop_delay;
}
}
+
+ std::vector<StochasticDatedValue> get_pattern() { return pattern; }
};
Profile* ProfileBuilder::from_string(const std::string& name, const std::string& input, double periodicity)
}
} // namespace simgrid::kernel::profile
+
+std::vector<simgrid::kernel::profile::StochasticDatedValue> trace2selist( const char* c_str) {
+ std::string str(c_str);
+ simgrid::kernel::profile::LegacyUpdateCb cb(str,0);
+ return cb.get_pattern();
+}
+
+
REQUIRE(want == got);
}
-/*
+
SECTION("One stochastic event (parsing)")
{
using simgrid::kernel::profile::Distribution;
std::vector<simgrid::kernel::profile::StochasticDatedValue> got = trace2selist("STOCHASTIC\n"
"DET 0 UNIF 10 20");
-
+
std::vector<simgrid::kernel::profile::StochasticDatedValue> want;
- want.emplace_back(0, -1); // The initial fake event
want.emplace_back(Distribution::DET, std::vector<double>{0}, Distribution::UNIF, std::vector<double>{10, 20});
REQUIRE(want == got);
"NORMAL 25 10 DET 3\n"
"UNIF 10 20 NORMAL 25 10\n"
"DET 5 UNIF 5 25");
-
+
std::vector<simgrid::kernel::profile::StochasticDatedValue> want;
- want.emplace_back(0, -1);
want.emplace_back(Distribution::DET, std::vector<double>{0}, Distribution::DET, std::vector<double>{4});
want.emplace_back(Distribution::NORM, std::vector<double>{25, 10}, Distribution::DET, std::vector<double>{3});
want.emplace_back(Distribution::UNIF, std::vector<double>{10, 20}, Distribution::NORM, std::vector<double>{25, 10});
REQUIRE(want == got);
}
-*/
+
SECTION("Two stochastic events (drawing each distribution)")
{
simgrid::xbt::random::set_implem_xbt();