Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2023.
[simgrid.git] / teshsuite / s4u / evaluate-get-route-time / evaluate-get-route-time.cpp
index 2d62eab..4481bf1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008-2020. The SimGrid Team.
+/* Copyright (c) 2008-2023. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -6,34 +6,34 @@
 
 /*
 for i in $(seq 1 20); do
-  teshsuite/s4u/evaluate-get-route-time/evaluate-get-route-time examples/platforms/cluster_backbone.xml 1 2> /tmp/null
+  teshsuite/s4u/evaluate-get-route-time/evaluate-get-route-time examples/platforms/cluster_backbone.xml
   sleep 1
 done
 */
 
 #include "simgrid/s4u.hpp"
+#include "xbt/random.hpp"
 #include "xbt/xbt_os_time.h"
-#include <stdio.h>
+#include <cstdio>
 
 int main(int argc, char** argv)
 {
-  int i;
-  int j;
   xbt_os_timer_t timer = xbt_os_timer_new();
 
   simgrid::s4u::Engine e(&argc, argv);
   e.load_platform(argv[1]);
+  e.seal_platform();
 
   std::vector<simgrid::s4u::Host*> hosts = e.get_all_hosts();
-  int host_count                         = e.get_host_count();
+  int host_count                         = static_cast<int>(e.get_host_count());
 
   /* Random number initialization */
-  srand(static_cast<int>(xbt_os_time()));
+  simgrid::xbt::random::set_mersenne_seed(static_cast<int>(xbt_os_time()));
 
   /* Take random i and j, with i != j */
   xbt_assert(host_count > 1);
-  i = rand() % host_count;
-  j = rand() % (host_count - 1);
+  int i = simgrid::xbt::random::uniform_int(0, host_count - 1);
+  int j = simgrid::xbt::random::uniform_int(0, host_count - 2);
   if (j >= i) // '>=' is not a bug: j is uniform on host_count-1 values, and shifted on need to maintain uniform random
     j++;