- if (sscanf(val, "%lg" " " "%lg" "\n", &event.delta, &event.value) != 2)
- xbt_die("%s:%d: Syntax error in trace\n%s", id, linecount, input);
-
- if (last_event) {
- if (last_event->delta > event.delta) {
- xbt_die("%s:%d: Invalid trace: Events must be sorted, "
- "but time %g > time %g.\n%s",
- id, linecount, last_event->delta, event.delta, input);
- }
- last_event->delta = event.delta - last_event->delta;
- } else {
- if(event.delta > 0.0){
- s_tmgr_event_t first_event;
- first_event.delta=event.delta;
- first_event.value=-1.0;
- xbt_dynar_push(trace->event_list, &first_event);
- }
- }
- xbt_dynar_push(trace->event_list, &event);
- last_event = (tmgr_event_t)xbt_dynar_get_ptr(trace->event_list, xbt_dynar_length(trace->event_list) - 1);
- }
- if (last_event)
- last_event->delta = periodicity;
-
- if (!trace_list)
- trace_list = xbt_dict_new_homogeneous((void (*)(void *)) tmgr_trace_free);
-
- xbt_dict_set(trace_list, id, (void *) trace, NULL);
-
- xbt_dynar_free(&list);
- return trace;
-}
-
-tmgr_trace_t tmgr_trace_new_from_file(const char *filename)
-{
- tmgr_trace_t trace = NULL;
+ xbt_assert(sscanf(val.c_str(), "%lg %lg\n", &event.date_, &event.value_) == 2, "%s:%d: Syntax error in trace\n%s",
+ name.c_str(), linecount, input.c_str());