GCC Code Coverage Report


Directory: ./
File: tasks/urin_o_graham_passage/tbb/include/ops_tbb.hpp
Date: 2026-05-11 08:26:31
Exec Total Coverage
Lines: 0 1 0.0%
Functions: 0 0 -%
Branches: 0 4 0.0%

Line Branch Exec Source
1 #pragma once
2
3 #include <vector>
4
5 #include "task/include/task.hpp"
6 #include "urin_o_graham_passage/common/include/common.hpp"
7
8 namespace urin_o_graham_passage {
9
10 class UrinOGrahamPassageTBB : public BaseTask {
11 public:
12 static constexpr ppc::task::TypeOfTask GetStaticTypeOfTask() {
13 return ppc::task::TypeOfTask::kTBB;
14 }
15
16 explicit UrinOGrahamPassageTBB(const InType &in);
17
18 [[nodiscard]] static Point FindLowestPoint(const InType &points);
19 [[nodiscard]] static double PolarAngle(const Point &base, const Point &p);
20 [[nodiscard]] static int Orientation(const Point &p, const Point &q, const Point &r);
21 [[nodiscard]] static double DistanceSquared(const Point &p1, const Point &p2);
22
23 protected:
24 bool ValidationImpl() override;
25 bool PreProcessingImpl() override;
26 bool RunImpl() override;
27 bool PostProcessingImpl() override;
28
29 private:
30 // TBB-специфичные функции
31 [[nodiscard]] static Point FindLowestPointParallel(const InType &points);
32 [[nodiscard]] static std::vector<Point> PrepareOtherPointsParallel(const InType &points, const Point &p0);
33 [[nodiscard]] static bool AreAllCollinear(const Point &p0, const std::vector<Point> &points);
34 [[nodiscard]] static std::vector<Point> BuildConvexHull(const Point &p0, const std::vector<Point> &points);
35 };
36
37 } // namespace urin_o_graham_passage
38