++comp_iter;
double flops = opt::comp_cost(real_load);
m_task_t task = MSG_task_create("computation", flops, 0.0, NULL);
- TRACE_msg_set_task_category(task, TRACE_CAT_COMP);
+ MSG_task_set_category(task, TRACE_CAT_COMP);
XBT_DEBUG("compute %g flop%s", flops, ESSE(flops));
MSG_task_execute(task);
add_comp_amount(flops);
else
excess_load = real_load;
- double balance = nb.get_debt() - nb.get_credit();
+ double balance;
+ if (nb.get_credit() > 0.0)
+ balance = nb.get_debt() - nb.get_credit();
+ else
+ balance = nb.get_debt();
load_to_send = std::min(excess_load,
std::max(0.0, balance));