double delta = std::max(myLoad - pneigh[i]->get_load(), 0.0);
double transfer = alpha * delta;
XBT_DEBUG("delta = %g ; transfer = %g", delta, transfer);
- if (pneigh[i]->get_load() <= get_load() - 2 * transfer) {
- send(pneigh[i], transfer);
- XBT_DEBUG("sent %g to %s", transfer, pneigh[i]->get_name());
- } else {
+ if (get_load() - 2 * transfer < pneigh[i]->get_load())
break;
- }
+ send(pneigh[i], transfer);
+ XBT_DEBUG("sent %g to %s", transfer, pneigh[i]->get_name());
}
}