MCPcopy Create free account
hub / github.com/Compaile/ctrack / sorted_create_grouped_simple_events

Function sorted_create_grouped_simple_events

include/ctrack.hpp:507–534  ·  view source on GitHub ↗

requires already sorted

Source from the content-addressed store, hash-verified

505
506 // requires already sorted
507 inline std::vector<Simple_Event> sorted_create_grouped_simple_events(const std::vector<Simple_Event> &events)
508 {
509 std::vector<Simple_Event> result{};
510 if (events.size() == 0)
511 return result;
512 result.push_back(events[0]);
513 unsigned int current_idx = 0;
514
515 for (size_t i = 1; i < events.size(); i++)
516 {
517 if (result[current_idx].end_time >= events[i].start_time)
518 {
519 result[current_idx].end_time = std::max<std::chrono::high_resolution_clock::time_point>(result[current_idx].end_time, events[i].end_time);
520 }
521 else
522 {
523 result.push_back(events[i]);
524 current_idx++;
525 }
526 }
527
528 for (auto &entry : result)
529 {
530 entry.duration = std::chrono::duration_cast<std::chrono::nanoseconds>(entry.end_time - entry.start_time).count();
531 }
532
533 return result;
534 }
535
536 inline std::vector<Simple_Event> load_child_events_simple(const std::vector<Simple_Event> &parent_events_simple,
537 const std::unordered_map<int_fast64_t, const Event *> &events_map, const std::unordered_map<int_fast64_t, std::vector<int_fast64_t>> &child_graph)

Callers 2

calculateStatsMethod · 0.85
calculate_statsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected