X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2c4b9b084f2dfb0b9e34bee11e1bc012ea13ad95..faefbf1df4c06fd86d785d0a376356cd2375b81e:/src/surf/network.c diff --git a/src/surf/network.c b/src/surf/network.c index ed1db7b010..b6f836bcce 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -118,36 +118,42 @@ static double smpi_bandwidth_factor(double size) { if (!smpi_bw_factor) smpi_bw_factor = - parse_factor(xbt_cfg_get_string(_surf_cfg_set, "smpi/bw_factor")); + parse_factor(surf_cfg_get_string("smpi/bw_factor")); unsigned int iter = 0; s_smpi_factor_t fact; + double current=1.0; xbt_dynar_foreach(smpi_bw_factor, iter, fact) { - if (size >= fact.factor) { - XBT_DEBUG("%lf >= %ld return %f", size, fact.factor, fact.value); - return fact.value; - } + if (size <= fact.factor) { + XBT_DEBUG("%lf <= %ld return %f", size, fact.factor, current); + return current; + }else + current=fact.value; } + XBT_DEBUG("%lf > %ld return %f", size, fact.factor, current); - return 1.0; + return current; } static double smpi_latency_factor(double size) { if (!smpi_lat_factor) smpi_lat_factor = - parse_factor(xbt_cfg_get_string(_surf_cfg_set, "smpi/lat_factor")); + parse_factor(surf_cfg_get_string("smpi/lat_factor")); unsigned int iter = 0; s_smpi_factor_t fact; + double current=1.0; xbt_dynar_foreach(smpi_lat_factor, iter, fact) { - if (size >= fact.factor) { - XBT_DEBUG("%lf >= %ld return %f", size, fact.factor, fact.value); - return fact.value; - } + if (size <= fact.factor) { + XBT_DEBUG("%lf <= %ld return %f", size, fact.factor, current); + return current; + }else + current=fact.value; } + XBT_DEBUG("%lf > %ld return %f", size, fact.factor, current); - return 1.0; + return current; } /**--------- -----------*/