+extern XBT_PRIVATE std::vector<std::string> surf_path;
+extern XBT_PRIVATE std::unordered_map<std::string, tmgr_trace_t> traces_set_list;
+extern XBT_PRIVATE std::set<std::string> watched_hosts;
+
+static inline void double_update(double* variable, double value, double precision)
+{
+ // printf("Updating %g -= %g +- %g\n",*variable,value,precision);
+ // xbt_assert(value==0 || value>precision);
+ // Check that precision is higher than the machine-dependent size of the mantissa. If not, brutal rounding may
+ // happen, and the precision mechanism is not active...
+ // xbt_assert(*variable< (2<<DBL_MANT_DIG)*precision && FLT_RADIX==2);
+ *variable -= value;
+ if (*variable < precision)
+ *variable = 0.0;
+}
+
+static inline int double_positive(double value, double precision)
+{
+ return (value > precision);
+}
+
+static inline int double_equals(double value1, double value2, double precision)
+{
+ return (fabs(value1 - value2) < precision);
+}