GCC Code Coverage Report


Directory: ./
File: lib/geogram/numerics/predicates/orient3d.h
Date: 2026-09-07 02:37:58
Exec Total Coverage
Lines: 50 51 98.0%
Functions: 1 1 100.0%
Branches: 31 32 96.9%

Line Branch Exec Source
1 /* Automatically generated code, do not edit */
2 /* Generated from source file: orient3d.pck */
3
4 19664953 inline int orient_3d_filter(const double* p0, const double* p1, const double* p2, const double* p3) {
5 double a11;
6 19664953 a11 = (p1[0] - p0[0]);
7 double a12;
8 19664953 a12 = (p1[1] - p0[1]);
9 double a13;
10 19664953 a13 = (p1[2] - p0[2]);
11 double a21;
12 19664953 a21 = (p2[0] - p0[0]);
13 double a22;
14 19664953 a22 = (p2[1] - p0[1]);
15 double a23;
16 19664953 a23 = (p2[2] - p0[2]);
17 double a31;
18 19664953 a31 = (p3[0] - p0[0]);
19 double a32;
20 19664953 a32 = (p3[1] - p0[1]);
21 double a33;
22 19664953 a33 = (p3[2] - p0[2]);
23 double Delta;
24 19664953 Delta = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22))));
25 int int_tmp_result;
26 double eps;
27 19664953 double max1 = fabs(a11);
28
2/2
✓ Branch 0 taken 6669432 times.
✓ Branch 1 taken 12995521 times.
19664953 if((max1 < fabs(a21)))
29 {
30 6669432 max1 = fabs(a21);
31 }
32
2/2
✓ Branch 0 taken 5350627 times.
✓ Branch 1 taken 14314326 times.
19664953 if((max1 < fabs(a31)))
33 {
34 5350627 max1 = fabs(a31);
35 }
36 19664953 double max2 = fabs(a12);
37
2/2
✓ Branch 0 taken 8012137 times.
✓ Branch 1 taken 11652816 times.
19664953 if((max2 < fabs(a13)))
38 {
39 8012137 max2 = fabs(a13);
40 }
41
2/2
✓ Branch 0 taken 4409491 times.
✓ Branch 1 taken 15255462 times.
19664953 if((max2 < fabs(a22)))
42 {
43 4409491 max2 = fabs(a22);
44 }
45
2/2
✓ Branch 0 taken 2704293 times.
✓ Branch 1 taken 16960660 times.
19664953 if((max2 < fabs(a23)))
46 {
47 2704293 max2 = fabs(a23);
48 }
49 19664953 double max3 = fabs(a22);
50
2/2
✓ Branch 0 taken 7830953 times.
✓ Branch 1 taken 11834000 times.
19664953 if((max3 < fabs(a23)))
51 {
52 7830953 max3 = fabs(a23);
53 }
54
2/2
✓ Branch 0 taken 6208737 times.
✓ Branch 1 taken 13456216 times.
19664953 if((max3 < fabs(a32)))
55 {
56 6208737 max3 = fabs(a32);
57 }
58
2/2
✓ Branch 0 taken 3711383 times.
✓ Branch 1 taken 15953570 times.
19664953 if((max3 < fabs(a33)))
59 {
60 3711383 max3 = fabs(a33);
61 }
62 double lower_bound_1;
63 double upper_bound_1;
64 19664953 lower_bound_1 = max1;
65 19664953 upper_bound_1 = max1;
66
2/2
✓ Branch 0 taken 6188472 times.
✓ Branch 1 taken 13476481 times.
19664953 if((max2 < lower_bound_1))
67 {
68 6188472 lower_bound_1 = max2;
69 }
70 else
71 {
72
2/2
✓ Branch 0 taken 11645156 times.
✓ Branch 1 taken 1831325 times.
13476481 if((max2 > upper_bound_1))
73 {
74 11645156 upper_bound_1 = max2;
75 }
76 }
77
2/2
✓ Branch 0 taken 3758729 times.
✓ Branch 1 taken 15906224 times.
19664953 if((max3 < lower_bound_1))
78 {
79 3758729 lower_bound_1 = max3;
80 }
81 else
82 {
83
2/2
✓ Branch 0 taken 3815791 times.
✓ Branch 1 taken 12090433 times.
15906224 if((max3 > upper_bound_1))
84 {
85 3815791 upper_bound_1 = max3;
86 }
87 }
88
2/2
✓ Branch 0 taken 415213 times.
✓ Branch 1 taken 19249740 times.
19664953 if((lower_bound_1 < 1.63288018496748314939e-98))
89 {
90 415213 return FPG_UNCERTAIN_VALUE;
91 }
92 else
93 {
94
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 19249740 times.
19249740 if((upper_bound_1 > 5.59936185544450928309e+101))
95 {
96 return FPG_UNCERTAIN_VALUE;
97 }
98 19249740 eps = (5.11071278299732992696e-15 * ((max2 * max3) * max1));
99
2/2
✓ Branch 0 taken 6308474 times.
✓ Branch 1 taken 12941266 times.
19249740 if((Delta > eps))
100 {
101 6308474 int_tmp_result = 1;
102 }
103 else
104 {
105
2/2
✓ Branch 0 taken 8314536 times.
✓ Branch 1 taken 4626730 times.
12941266 if((Delta < -eps))
106 {
107 8314536 int_tmp_result = -1;
108 }
109 else
110 {
111 4626730 return FPG_UNCERTAIN_VALUE;
112 }
113 }
114 }
115 14623010 return int_tmp_result;
116 }
117