Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Replace redundant type with "auto" (teshsuite/).
[simgrid.git] / teshsuite / surf / maxmin_bench / maxmin_bench.cpp
index 9e95082..4ba0a96 100644 (file)
 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<short>(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<double>(testcount);
+  double stdev_date = sqrt(acc_date2 / static_cast<double>(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",