GCC Code Coverage Report


Directory: ./
File: tasks/paramonov_v_bin_img_conv_hul_omp/omp/include/ops_omp.hpp
Date: 2026-04-02 17:12:27
Exec Total Coverage
Lines: 1 1 100.0%
Functions: 0 0 -%
Branches: 5 6 83.3%

Line Branch Exec Source
1 #pragma once
2
3 #include <cstddef>
4 #include <cstdint>
5 #include <vector>
6
7 #include "paramonov_v_bin_img_conv_hul_omp/common/include/common.hpp"
8 #include "task/include/task.hpp"
9
10 namespace paramonov_v_bin_img_conv_hul_omp {
11
12 class ConvexHullOMP : public BaseTask {
13 public:
14 static constexpr ppc::task::TypeOfTask GetStaticTypeOfTask() {
15 return ppc::task::TypeOfTask::kOMP;
16 }
17
18 explicit ConvexHullOMP(const InputType &input);
19
20 bool ValidationImpl() override;
21 bool PreProcessingImpl() override;
22 bool RunImpl() override;
23 bool PostProcessingImpl() override;
24
25 private:
26 void BinarizeImage(uint8_t threshold = 128);
27 void ExtractConnectedComponents();
28
29 [[nodiscard]] static std::vector<PixelPoint> ComputeConvexHull(const std::vector<PixelPoint> &points);
30 [[nodiscard]] static int64_t Orientation(const PixelPoint &p, const PixelPoint &q, const PixelPoint &r);
31 static size_t PixelIndex(int row, int col, int cols) {
32
5/6
✓ Branch 0 taken 296 times.
✓ Branch 1 taken 5752 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 44 times.
✓ Branch 4 taken 700 times.
✓ Branch 5 taken 484 times.
7276 return (static_cast<size_t>(row) * static_cast<size_t>(cols)) + static_cast<size_t>(col);
33 }
34
35 void FloodFill(int start_row, int start_col, std::vector<bool> &visited, std::vector<PixelPoint> &component) const;
36
37 InputType working_image_;
38 };
39
40 } // namespace paramonov_v_bin_img_conv_hul_omp
41