GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 25 / 0 / 25
Functions: 100.0% 2 / 0 / 2
Branches: 60.0% 54 / 0 / 90

test/cpv_local/geo2d/tcenter_o.uva190.cpp
Line Branch Exec Source
1 // competitive-verifier: LOCALCASE test/cpv_local/_data/uva/190
2
3 #include "../../../src/geo2d/tcenter/o/lib.hpp"
4
5 using namespace tifa_libs;
6 using std::cin, std::cout;
7 using data_t = f64;
8 using Point2 = point<data_t>;
9 using Triangle2 = triangle<data_t>;
10
11 34 strn get_s1(char var, data_t val) {
12
4/6
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 32 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
38 if (is_zero(val)) return strn{var} + "^2";
13
2/2
✓ Branch 1 taken 21 times.
✓ Branch 2 taken 11 times.
32 char op = is_pos(val) ? '-' : '+';
14
1/2
✓ Branch 1 taken 32 times.
✗ Branch 2 not taken.
32 std::stringstream ss;
15
1/2
✓ Branch 1 taken 32 times.
✗ Branch 2 not taken.
32 ss << std::fixed << std::setprecision(3);
16
1/2
✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
32 ss << abs(val);
17 32 strn ret;
18
1/2
✓ Branch 1 taken 32 times.
✗ Branch 2 not taken.
32 ss >> ret;
19
7/14
✓ Branch 1 taken 32 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 32 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 32 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 32 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 32 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 32 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 32 times.
✗ Branch 20 not taken.
64 return strn{'('} + var + ' ' + op + ' ' + ret + ")^2";
20 32 }
21
22 1 int main() {
23 Triangle2 t;
24
3/4
✓ Branch 2 taken 18 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 17 times.
✓ Branch 5 taken 1 time.
18 while (cin >> t) {
25 17 Point2 o = center_O(t);
26 17 data_t r = dist_PP(o, t.A);
27
9/18
✓ Branch 1 taken 17 times.
✗ Branch 2 not taken.
✓ Branch 6 taken 17 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 17 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 17 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 17 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 17 times.
✗ Branch 19 not taken.
✓ Branch 21 taken 17 times.
✗ Branch 22 not taken.
✓ Branch 24 taken 17 times.
✗ Branch 25 not taken.
✓ Branch 27 taken 17 times.
✗ Branch 28 not taken.
17 cout << std::fixed << std::setprecision(3) << get_s1('x', o.x) << " + " << get_s1('y', o.y) << " = " << r << "^2\nx^2 + y^2 ";
28 17 data_t F = o.x * o.x + o.y * o.y - r * r;
29
6/6
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 14 times.
✓ Branch 2 taken 8 times.
✓ Branch 3 taken 9 times.
✓ Branch 4 taken 10 times.
✓ Branch 5 taken 7 times.
17 char opx = o.x < 0 ? '+' : '-', opy = o.y < 0 ? '+' : '-', opF = F < 0 ? '-' : '+';
30 17 o.x = abs(o.x);
31 17 o.y = abs(o.y);
32 17 F = abs(F);
33
6/10
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 1 time.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 16 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 16 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
17 if (!is_zero(o.x)) cout << opx << ' ' << 2 * o.x << "x ";
34
6/10
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 1 time.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 16 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 16 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
17 if (!is_zero(o.y)) cout << opy << ' ' << 2 * o.y << "y ";
35
6/10
✓ Branch 1 taken 14 times.
✓ Branch 2 taken 3 times.
✓ Branch 4 taken 14 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 14 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 14 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 14 times.
✗ Branch 14 not taken.
17 if (!is_zero(F)) cout << opF << ' ' << F << ' ';
36
1/2
✓ Branch 1 taken 17 times.
✗ Branch 2 not taken.
17 cout << "= 0\n\n";
37 }
38 1 }
39