#include <cmath> // std::isfinite
-#include <functional>
#include <numeric>
#include <xbt/log.h>
void loba_2besteffort::load_balance()
{
- using std::placeholders::_1;
- using std::placeholders::_2;
-
pneigh_sort_by_load(std::less<double>());
print_loads_p(false, xbt_log_priority_debug);
double sum = get_load() +
std::accumulate(pneigh.begin(), pneigh.end(), 0.0,
- std::bind(std::plus<double>(), _1,
- std::bind(&neighbor::get_load, _2)));
+ [](double x, const neighbor* n) {
+ return x + n->get_load();
+ });
double mean = sum / (pneigh.size() + 1);
XBT_DEBUG("sum = %g ; mean = %g", sum, mean);