GCC Code Coverage Report


Directory: ./
File: tasks/dorogin_v_bin_img_conv_hull/common/include/common.hpp
Date: 2026-04-02 17:12:27
Exec Total Coverage
Lines: 5 5 100.0%
Functions: 0 0 -%
Branches: 30 50 60.0%

Line Branch Exec Source
1 #pragma once
2
3 #include <cstdint>
4 #include <string>
5 #include <tuple>
6 #include <vector>
7
8 #include "task/include/task.hpp"
9
10 namespace dorogin_v_bin_img_conv_hull {
11
12 struct Point {
13 int x{0};
14 int y{0};
15
16 Point() = default;
17
6/12
✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 8 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 8 times.
✗ Branch 17 not taken.
776 Point(int px, int py) : x(px), y(py) {}
18
19 bool operator==(const Point &oth) const {
20
6/12
✓ Branch 0 taken 672 times.
✓ Branch 1 taken 120 times.
✓ Branch 2 taken 672 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 16 times.
✓ Branch 5 taken 96 times.
✓ Branch 6 taken 16 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
904 return x == oth.x && y == oth.y;
21 }
22
23 bool operator!=(const Point &oth) const {
24 return !(*this == oth);
25 }
26
27 bool operator<(const Point &oth) const {
28
18/26
✗ Branch 0 not taken.
✓ Branch 1 taken 32 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 32 times.
✓ Branch 4 taken 88 times.
✓ Branch 5 taken 696 times.
✓ Branch 6 taken 240 times.
✓ Branch 7 taken 672 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 56 times.
✓ Branch 10 taken 8 times.
✓ Branch 11 taken 24 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 24 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 24 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 24 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 992 times.
✓ Branch 21 taken 824 times.
✓ Branch 22 taken 72 times.
✓ Branch 23 taken 192 times.
✓ Branch 24 taken 280 times.
✓ Branch 25 taken 192 times.
4472 if (x == oth.x) {
29 1680 return y < oth.y;
30 }
31 2792 return x < oth.x;
32 }
33 };
34
35 struct BinaryImage {
36 int width{0};
37 int height{0};
38 std::vector<uint8_t> pixels;
39 std::vector<std::vector<Point>> components;
40 std::vector<std::vector<Point>> convex_hulls;
41 };
42
43 using InType = BinaryImage;
44 using OutType = BinaryImage;
45 using TestType = std::tuple<int, std::string>;
46 using BaseTask = ppc::task::Task<InType, OutType>;
47
48 } // namespace dorogin_v_bin_img_conv_hull
49