X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ed9136acfd991d12e399a8627a9585766ecb493d..298475b7a7f5b043d8d6870ac51626a9d8bd3777:/teshsuite/surf/maxmin_bench/maxmin_bench.cpp?ds=sidebyside diff --git a/teshsuite/surf/maxmin_bench/maxmin_bench.cpp b/teshsuite/surf/maxmin_bench/maxmin_bench.cpp index 9e95082801..4ba0a96ea4 100644 --- a/teshsuite/surf/maxmin_bench/maxmin_bench.cpp +++ b/teshsuite/surf/maxmin_bench/maxmin_bench.cpp @@ -19,14 +19,14 @@ double date; static void test(int nb_cnst, int nb_var, int nb_elem, unsigned int pw_base_limit, unsigned int pw_max_limit, - float rate_no_limit, int max_share, int mode) + double rate_no_limit, int max_share, int mode) { - simgrid::kernel::lmm::Constraint** cnst = new simgrid::kernel::lmm::Constraint*[nb_cnst]; - simgrid::kernel::lmm::Variable** var = new simgrid::kernel::lmm::Variable*[nb_var]; - int* used = new int[nb_cnst]; + auto* cnst = new simgrid::kernel::lmm::Constraint*[nb_cnst]; + auto* var = new simgrid::kernel::lmm::Variable*[nb_var]; + auto* used = new int[nb_cnst]; /* We cannot activate the selective update as we pass nullptr as an Action when creating the variables */ - simgrid::kernel::lmm::System* Sys = new simgrid::kernel::lmm::System(false); + auto* Sys = new simgrid::kernel::lmm::System(false); for (int i = 0; i < nb_cnst; i++) { cnst[i] = Sys->constraint_new(NULL, simgrid::xbt::random::uniform_real(0.0, 10.0)); @@ -44,17 +44,16 @@ static void test(int nb_cnst, int nb_var, int nb_elem, unsigned int pw_base_limi for (int i = 0; i < nb_var; i++) { var[i] = Sys->variable_new(NULL, 1.0, -1.0, nb_elem); //Have a few variables with a concurrency share of two (e.g. cross-traffic in some cases) - int concurrency_share = 1 + simgrid::xbt::random::uniform_int(0, max_share - 1); + short concurrency_share = 1 + static_cast(simgrid::xbt::random::uniform_int(0, max_share - 1)); var[i]->set_concurrency_share(concurrency_share); for (int j = 0; j < nb_cnst; j++) used[j] = 0; for (int j = 0; j < nb_elem; j++) { - int k = simgrid::xbt::random::uniform_int(0, nb_cnst - 1); - if (used[k]>=concurrency_share) { - j--; - continue; - } + int k; + do { + k = simgrid::xbt::random::uniform_int(0, nb_cnst - 1); + } while (used[k] >= concurrency_share); Sys->expand(cnst[k], var[i], simgrid::xbt::random::uniform_real(0.0, 1.5)); Sys->expand_add(cnst[k], var[i], simgrid::xbt::random::uniform_real(0.0, 1.5)); used[k]++; @@ -106,9 +105,9 @@ int main(int argc, char **argv) { simgrid::s4u::Engine e(&argc, argv); - float rate_no_limit=0.2; - float acc_date=0; - float acc_date2=0; + double rate_no_limit = 0.2; + double acc_date = 0.0; + double acc_date2 = 0.0; int testclass; if(argc<3) { @@ -168,8 +167,8 @@ int main(int argc, char **argv) acc_date2+=date*date; } - float mean_date= acc_date/(float)testcount; - float stdev_date= sqrt(acc_date2/(float)testcount-mean_date*mean_date); + double mean_date = acc_date / static_cast(testcount); + double stdev_date = sqrt(acc_date2 / static_cast(testcount) - mean_date * mean_date); fprintf(stderr, "%ix One shot execution time for a total of %u constraints, " "%u variables with %u active constraint each, concurrency in [%i,%i] and max concurrency share %u\n",