-/* Copyright (c) 2004-2020. 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. */
#include "xbt/random.hpp"
#include <math.h>
-namespace simgrid {
-namespace kernel {
-namespace profile {
+namespace simgrid::kernel::profile {
double StochasticDatedValue::draw(Distribution law, std::vector<double> params)
{
switch (law) {
- case Dist_Det:
+ case Distribution::DET:
return params[0];
- case Dist_Exp:
+ case Distribution::EXP:
return simgrid::xbt::random::exponential(params[0]);
- case Dist_Unif:
+ case Distribution::UNIF:
return simgrid::xbt::random::uniform_real(params[0], params[1]);
- case Dist_Norm:
+ case Distribution::NORM:
return simgrid::xbt::random::normal(params[0], params[1]);
default:
- xbt_assert(false, "Unimplemented distribution");
- return 0;
+ xbt_die("Unimplemented distribution");
}
}
-double StochasticDatedValue::get_value()
+
+double StochasticDatedValue::get_value() const
{
return draw(value_law, value_params);
}
-double StochasticDatedValue::get_date()
+
+double StochasticDatedValue::get_date() const
{
return draw(date_law, date_params);
}
-DatedValue StochasticDatedValue::get_datedvalue()
+
+DatedValue StochasticDatedValue::get_datedvalue() const
{
DatedValue event;
event.date_ = get_date();
(e2.date_params == date_params);
}
-} // namespace profile
-} // namespace kernel
-} // namespace simgrid
+} // namespace simgrid::kernel::profile