Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use C++ random for tracing colors.
[simgrid.git] / src / instr / instr_interface.cpp
index 14e3d3b..b859b8d 100644 (file)
@@ -9,6 +9,8 @@
 #include "src/surf/surf_private.hpp"
 #include "surf/surf.hpp"
 #include <algorithm>
+#include <cmath>
+#include <random>
 
 enum class InstrUserVariable { DECLARE, SET, ADD, SUB };
 
@@ -88,9 +90,11 @@ void TRACE_category_with_color (const char *category, const char *color)
   std::string final_color;
   if (not color) {
     //generate a random color
-    double red = drand48();
-    double green = drand48();
-    double blue = drand48();
+    static std::default_random_engine rnd_engine;
+    std::uniform_real_distribution<double> prng(0.0, std::nextafter(1.0, 2.0));
+    double red   = prng(rnd_engine);
+    double green = prng(rnd_engine);
+    double blue  = prng(rnd_engine);
     final_color  = std::to_string(red) + " " + std::to_string(green) + " " + std::to_string(blue);
   }else{
     final_color = std::string(color);