GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 16 / 0 / 16
Functions: 100.0% 1 / 0 / 1
Branches: 78.1% 25 / 0 / 32

test/cpv_local/geo2d/coverage_rect.min_area.bzoj1185.cpp
Line Branch Exec Source
1 // competitive-verifier: LOCALCASE test/cpv_local/_data/bzoj/1185
2
3 #include "../../../src/geo2d/rotcal/coverage_rect/lib.hpp"
4
5 using namespace tifa_libs;
6 using std::cin, std::cout;
7 using data_t = f64;
8 using Polygon2 = polygon<data_t>;
9 using ConvexHull2 = cvh<data_t>;
10
11 10 int main() {
12
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
10 cout << std::fixed << std::setprecision(5);
13
14 u32 n;
15
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
10 cin >> n;
16 10 ConvexHull2 cvh(n);
17 10 cin >> cvh;
18 10 Polygon2 rect = coverage_rect<CVHRECT::min_area, data_t>(cvh.init());
19
2/4
✓ Branch 2 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
10 cout << rect.area() << '\n';
20 10 u32 start = 0;
21
2/2
✓ Branch 0 taken 40 times.
✓ Branch 1 taken 10 times.
50 flt_ (u32, i, 0, 4) {
22
2/2
✓ Branch 2 taken 11 times.
✓ Branch 3 taken 29 times.
40 if (is_zero(rect[i].x)) rect[i].x = 0;
23
2/2
✓ Branch 2 taken 11 times.
✓ Branch 3 taken 29 times.
40 if (is_zero(rect[i].y)) rect[i].y = 0;
24 }
25
2/2
✓ Branch 0 taken 40 times.
✓ Branch 1 taken 10 times.
50 flt_ (u32, i, 0, 4)
26
7/8
✓ Branch 3 taken 34 times.
✓ Branch 4 taken 6 times.
✓ Branch 8 taken 11 times.
✓ Branch 9 taken 23 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 11 times.
✓ Branch 15 taken 6 times.
✓ Branch 16 taken 34 times.
40 if (is_lt(rect[i].y, rect[start].y) || (is_eq(rect[i].y, rect[start].y) && is_lt(rect[i].x, rect[start].x))) start = i;
27
3/4
✓ Branch 3 taken 34 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 34 times.
✓ Branch 6 taken 10 times.
44 for (u32 i = start; i < 4; ++i) cout << rect[i] << '\n';
28
3/4
✓ Branch 3 taken 6 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6 times.
✓ Branch 6 taken 10 times.
16 for (u32 i = 0; i < start; ++i) cout << rect[i] << '\n';
29 10 }
30