+static inline bool doubleEq(double d1, double d2)
+{
+ return fabs(d1 - d2) < 0.0001;
+}
+namespace simgrid {
+namespace trace_mgr {
+
+bool DatedValue::operator==(DatedValue e2)
+{
+ return (doubleEq(date_, e2.date_)) && (doubleEq(value_, e2.value_));
+}
+std::ostream& operator<<(std::ostream& out, const DatedValue& e)
+{
+ out << e.date_ << " " << e.value_;
+ return out;
+}
+
+trace::trace()
+{
+ /* Add the first fake event storing the time at which the trace begins */
+ tmgr::DatedValue val(0, -1);
+ event_list.push_back(val);
+}
+trace::~trace() = default;
+future_evt_set::future_evt_set() = default;