GCC Code Coverage Report


Directory: ./
File: lib/geogram/numerics/predicates/orient3d.h
Date: 2026-09-07 02:25:23
Exec Total Coverage
Lines: 28 28 100.0%
Functions: 1 1 100.0%
Branches: 11 12 91.7%

Line Branch Exec Source
1 /* Automatically generated code, do not edit */
2 /* Generated from source file: orient3d.pck */
3
4 11107956 inline int orient_3d_filter(const double* p0, const double* p1, const double* p2, const double* p3) {
5 double a11;
6 11107956 a11 = (p1[0] - p0[0]);
7 double a12;
8 11107956 a12 = (p1[1] - p0[1]);
9 double a13;
10 11107956 a13 = (p1[2] - p0[2]);
11 double a21;
12 11107956 a21 = (p2[0] - p0[0]);
13 double a22;
14 11107956 a22 = (p2[1] - p0[1]);
15 double a23;
16 11107956 a23 = (p2[2] - p0[2]);
17 double a31;
18 11107956 a31 = (p3[0] - p0[0]);
19 double a32;
20 11107956 a32 = (p3[1] - p0[1]);
21 double a33;
22 11107956 a33 = (p3[2] - p0[2]);
23 double Delta;
24 11107956 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 11107956 double max1 = fabs(a11);
28 11107956 if((max1 < fabs(a21)))
29 {
30 max1 = fabs(a21);
31 }
32 11107956 if((max1 < fabs(a31)))
33 {
34 max1 = fabs(a31);
35 }
36 11107956 double max2 = fabs(a12);
37 11107956 if((max2 < fabs(a13)))
38 {
39 max2 = fabs(a13);
40 }
41 11107956 if((max2 < fabs(a22)))
42 {
43 max2 = fabs(a22);
44 }
45 11107956 if((max2 < fabs(a23)))
46 {
47 max2 = fabs(a23);
48 }
49 double max3 = fabs(a22);
50 if((max3 < fabs(a23)))
51 {
52 max3 = fabs(a23);
53 }
54 11107956 if((max3 < fabs(a32)))
55 {
56 max3 = fabs(a32);
57 }
58 11107956 if((max3 < fabs(a33)))
59 {
60 max3 = fabs(a33);
61 }
62 double lower_bound_1;
63 double upper_bound_1;
64 lower_bound_1 = max1;
65 upper_bound_1 = max1;
66
2/2
✓ Branch 0 taken 7839116 times.
✓ Branch 1 taken 3268840 times.
11107956 if((max2 < lower_bound_1))
67 {
68 lower_bound_1 = max2;
69 }
70 else
71 {
72 if((max2 > upper_bound_1))
73 {
74 upper_bound_1 = max2;
75 }
76 }
77
2/2
✓ Branch 0 taken 8501662 times.
✓ Branch 1 taken 2606294 times.
11107956 if((max3 < lower_bound_1))
78 {
79 lower_bound_1 = max3;
80 }
81 else
82 {
83 if((max3 > upper_bound_1))
84 {
85 upper_bound_1 = max3;
86 }
87 }
88
2/2
✓ Branch 0 taken 10854146 times.
✓ Branch 1 taken 253810 times.
11107956 if((lower_bound_1 < 1.63288018496748314939e-98))
89 {
90 return FPG_UNCERTAIN_VALUE;
91 }
92 else
93 {
94
1/2
✓ Branch 0 taken 10854146 times.
✗ Branch 1 not taken.
10854146 if((upper_bound_1 > 5.59936185544450928309e+101))
95 {
96 return FPG_UNCERTAIN_VALUE;
97 }
98 10854146 eps = (5.11071278299732992696e-15 * ((max2 * max3) * max1));
99
2/2
✓ Branch 0 taken 6488796 times.
✓ Branch 1 taken 4365350 times.
10854146 if((Delta > eps))
100 {
101 int_tmp_result = 1;
102 }
103 else
104 {
105
2/2
✓ Branch 0 taken 1888652 times.
✓ Branch 1 taken 4600144 times.
6488796 if((Delta < -eps))
106 {
107 int_tmp_result = -1;
108 }
109 else
110 {
111 1888652 return FPG_UNCERTAIN_VALUE;
112 }
113 }
114 }
115 return int_tmp_result;
116 }
117