Add ToNonOverlappedEvents to header file.

PiperOrigin-RevId: 342302821
Change-Id: I4ed570f1d0082ee89c5973f5e233f144e86a0051
This commit is contained in:
Tianrun Li 2020-11-13 11:30:59 -08:00 committed by TensorFlower Gardener
parent 96a5c2abbb
commit fe5a16e79a
2 changed files with 21 additions and 17 deletions

View File

@ -120,23 +120,6 @@ class PriorityTracker {
}
};
std::vector<EventTypeSpan> ToNonOverlappedEvents(
const std::vector<EventTypeSpan>& overlapped_events) {
std::vector<EventBoundary> event_boundaries =
GenerateEventBoundaries(overlapped_events);
std::vector<EventTypeSpan> result;
if (event_boundaries.empty()) return result;
result.reserve(event_boundaries.size());
PriorityTracker priority_tracker;
for (int64 i = 0, end = (event_boundaries.size() - 1); i < end; i++) {
EventType highest_priority = priority_tracker.Update(event_boundaries[i]);
result.push_back({highest_priority, Timespan::FromEndPoints(
event_boundaries[i].time_ps,
event_boundaries[i + 1].time_ps)});
}
return result;
}
void CombineStepDetails(const StepDetails& src, StepDetails* dst) {
dst->AppendMarkers(src.Markers());
dst->AppendEvents(src.Events());
@ -306,6 +289,23 @@ void CombineStepEvents(const StepEvents& src, StepEvents* dst) {
}
}
std::vector<EventTypeSpan> ToNonOverlappedEvents(
const std::vector<EventTypeSpan>& overlapped_events) {
std::vector<EventBoundary> event_boundaries =
GenerateEventBoundaries(overlapped_events);
std::vector<EventTypeSpan> result;
if (event_boundaries.empty()) return result;
result.reserve(event_boundaries.size());
PriorityTracker priority_tracker;
for (int64 i = 0, end = (event_boundaries.size() - 1); i < end; i++) {
EventType highest_priority = priority_tracker.Update(event_boundaries[i]);
result.push_back({highest_priority, Timespan::FromEndPoints(
event_boundaries[i].time_ps,
event_boundaries[i + 1].time_ps)});
}
return result;
}
// Converts from overlapped step-events to non-overlapped step-events.
StepEvents ToNonOverlappedStepEvents(const StepEvents& overlapped_step_events) {
StepEvents non_overlapped_step_events;

View File

@ -236,6 +236,10 @@ std::string PrintStepEvents(const StepEvents& step_events);
// Combines the src StepEvents into dst.
void CombineStepEvents(const StepEvents& src, StepEvents* dst);
// Converts from overlapped events to non-overlapped events.
std::vector<EventTypeSpan> ToNonOverlappedEvents(
const std::vector<EventTypeSpan>& overlapped_events);
// Converts from overlapped step-events to non-overlapped step events.
StepEvents ToNonOverlappedStepEvents(const StepEvents& overlapped_step_events);