cnst,
double *min_usage)
{
+ volatile double usage;
+
XBT_IN("sys=%p, cnst=%p, min_usage=%f", sys, cnst, *min_usage);
if (cnst->usage <= 0) {
XBT_OUT();
XBT_OUT();
return 1;
}
- if ((*min_usage < 0) || (*min_usage > cnst->remaining / cnst->usage)) {
- *min_usage = cnst->remaining / cnst->usage;
+ usage = cnst->remaining / cnst->usage;
+ if (*min_usage < 0 || *min_usage > usage) {
+ *min_usage = usage;
XBT_HERE(" min_usage=%f (cnst->remaining=%f, cnst->usage=%f)",
*min_usage, cnst->remaining, cnst->usage);
xbt_swag_reset(&sys->saturated_constraint_set);
xbt_swag_insert(cnst, &sys->saturated_constraint_set);
- } else if (*min_usage == cnst->remaining / cnst->usage) {
+ } else if (*min_usage == usage) {
xbt_swag_insert(cnst, &sys->saturated_constraint_set);
}
XBT_OUT();