GCC Code Coverage Report


Directory: ./
File: numerics/predicates/side3h.h
Date: 2026-09-27 03:24:14
Exec Total Coverage
Lines: 131 153 85.6%
Functions: 1 1 100.0%
Branches: 68 90 75.6%

Line Branch Exec Source
1 /* Automatically generated code, do not edit */
2 /* Generated from source file: side3h.pck */
3
4 3993 inline int side3h_3d_filter( const double* p0, const double* p1, const double* p2, const double* p3, double h0, double h1, double h2, double h3, const double* q0, const double* q1, const double* q2) {
5 double l1;
6 3993 l1 = (h1 - h0);
7 double l2;
8 3993 l2 = (h2 - h0);
9 double l3;
10 3993 l3 = (h3 - h0);
11 3993 double p1_0_p0_0 = (p1[0] - p0[0]);
12 3993 double q0_0_p0_0 = (q0[0] - p0[0]);
13 3993 double p1_1_p0_1 = (p1[1] - p0[1]);
14 3993 double q0_1_p0_1 = (q0[1] - p0[1]);
15 3993 double p1_2_p0_2 = (p1[2] - p0[2]);
16 3993 double q0_2_p0_2 = (q0[2] - p0[2]);
17 double a10;
18 3993 a10 = (2 * (((p1_0_p0_0 * q0_0_p0_0) + (p1_1_p0_1 * q0_1_p0_1)) + (p1_2_p0_2 * q0_2_p0_2)));
19 3993 double q1_0_p0_0 = (q1[0] - p0[0]);
20 3993 double q1_1_p0_1 = (q1[1] - p0[1]);
21 3993 double q1_2_p0_2 = (q1[2] - p0[2]);
22 double a11;
23 3993 a11 = (2 * (((p1_0_p0_0 * q1_0_p0_0) + (p1_1_p0_1 * q1_1_p0_1)) + (p1_2_p0_2 * q1_2_p0_2)));
24 3993 double q2_0_p0_0 = (q2[0] - p0[0]);
25 3993 double q2_1_p0_1 = (q2[1] - p0[1]);
26 3993 double q2_2_p0_2 = (q2[2] - p0[2]);
27 double a12;
28 3993 a12 = (2 * (((p1_0_p0_0 * q2_0_p0_0) + (p1_1_p0_1 * q2_1_p0_1)) + (p1_2_p0_2 * q2_2_p0_2)));
29 3993 double p2_0_p0_0 = (p2[0] - p0[0]);
30 3993 double p2_1_p0_1 = (p2[1] - p0[1]);
31 3993 double p2_2_p0_2 = (p2[2] - p0[2]);
32 double a20;
33 3993 a20 = (2 * (((p2_0_p0_0 * q0_0_p0_0) + (p2_1_p0_1 * q0_1_p0_1)) + (p2_2_p0_2 * q0_2_p0_2)));
34 double a21;
35 3993 a21 = (2 * (((p2_0_p0_0 * q1_0_p0_0) + (p2_1_p0_1 * q1_1_p0_1)) + (p2_2_p0_2 * q1_2_p0_2)));
36 double a22;
37 3993 a22 = (2 * (((p2_0_p0_0 * q2_0_p0_0) + (p2_1_p0_1 * q2_1_p0_1)) + (p2_2_p0_2 * q2_2_p0_2)));
38 3993 double p3_0_p0_0 = (p3[0] - p0[0]);
39 3993 double p3_1_p0_1 = (p3[1] - p0[1]);
40 3993 double p3_2_p0_2 = (p3[2] - p0[2]);
41 double a30;
42 3993 a30 = (2 * (((p3_0_p0_0 * q0_0_p0_0) + (p3_1_p0_1 * q0_1_p0_1)) + (p3_2_p0_2 * q0_2_p0_2)));
43 double a31;
44 3993 a31 = (2 * (((p3_0_p0_0 * q1_0_p0_0) + (p3_1_p0_1 * q1_1_p0_1)) + (p3_2_p0_2 * q1_2_p0_2)));
45 double a32;
46 3993 a32 = (2 * (((p3_0_p0_0 * q2_0_p0_0) + (p3_1_p0_1 * q2_1_p0_1)) + (p3_2_p0_2 * q2_2_p0_2)));
47 double b00;
48 3993 b00 = ((a11 * a22) - (a12 * a21));
49 double b01;
50 3993 b01 = (a21 - a22);
51 double b02;
52 3993 b02 = (a12 - a11);
53 double b10;
54 3993 b10 = ((a12 * a20) - (a10 * a22));
55 double b11;
56 3993 b11 = (a22 - a20);
57 double b12;
58 3993 b12 = (a10 - a12);
59 double b20;
60 3993 b20 = ((a10 * a21) - (a11 * a20));
61 double b21;
62 3993 b21 = (a20 - a21);
63 double b22;
64 3993 b22 = (a11 - a10);
65 double Delta;
66 3993 Delta = ((b00 + b10) + b20);
67 double DeltaLambda0;
68 3993 DeltaLambda0 = (((b01 * l1) + (b02 * l2)) + b00);
69 double DeltaLambda1;
70 3993 DeltaLambda1 = (((b11 * l1) + (b12 * l2)) + b10);
71 double DeltaLambda2;
72 3993 DeltaLambda2 = (((b21 * l1) + (b22 * l2)) + b20);
73 double r;
74 3993 r = ((Delta * l3) - (((a30 * DeltaLambda0) + (a31 * DeltaLambda1)) + (a32 * DeltaLambda2)));
75 double eps;
76 3993 double max1 = fabs(q2_2_p0_2);
77
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max1 < fabs(q0_0_p0_0)) )
78 {
79 ✗ max1 = fabs(q0_0_p0_0);
80 }
81
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max1 < fabs(q0_1_p0_1)) )
82 {
83 ✗ max1 = fabs(q0_1_p0_1);
84 }
85
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max1 < fabs(q0_2_p0_2)) )
86 {
87 ✗ max1 = fabs(q0_2_p0_2);
88 }
89
2/2
✓ Branch 0 taken 1552 times.
✓ Branch 1 taken 2441 times.
3993 if( (max1 < fabs(q1_0_p0_0)) )
90 {
91 1552 max1 = fabs(q1_0_p0_0);
92 }
93
2/2
✓ Branch 0 taken 548 times.
✓ Branch 1 taken 3445 times.
3993 if( (max1 < fabs(q1_1_p0_1)) )
94 {
95 548 max1 = fabs(q1_1_p0_1);
96 }
97
2/2
✓ Branch 0 taken 1390 times.
✓ Branch 1 taken 2603 times.
3993 if( (max1 < fabs(q1_2_p0_2)) )
98 {
99 1390 max1 = fabs(q1_2_p0_2);
100 }
101
2/2
✓ Branch 0 taken 564 times.
✓ Branch 1 taken 3429 times.
3993 if( (max1 < fabs(q2_0_p0_0)) )
102 {
103 564 max1 = fabs(q2_0_p0_0);
104 }
105
2/2
✓ Branch 0 taken 243 times.
✓ Branch 1 taken 3750 times.
3993 if( (max1 < fabs(q2_1_p0_1)) )
106 {
107 243 max1 = fabs(q2_1_p0_1);
108 }
109 3993 double max2 = fabs(p2_0_p0_0);
110
2/2
✓ Branch 0 taken 598 times.
✓ Branch 1 taken 3395 times.
3993 if( (max2 < fabs(p2_1_p0_1)) )
111 {
112 598 max2 = fabs(p2_1_p0_1);
113 }
114
2/2
✓ Branch 0 taken 1935 times.
✓ Branch 1 taken 2058 times.
3993 if( (max2 < fabs(p2_2_p0_2)) )
115 {
116 1935 max2 = fabs(p2_2_p0_2);
117 }
118 3993 double max3 = fabs(p1_0_p0_0);
119
2/2
✓ Branch 0 taken 660 times.
✓ Branch 1 taken 3333 times.
3993 if( (max3 < fabs(p1_1_p0_1)) )
120 {
121 660 max3 = fabs(p1_1_p0_1);
122 }
123
2/2
✓ Branch 0 taken 2121 times.
✓ Branch 1 taken 1872 times.
3993 if( (max3 < fabs(p1_2_p0_2)) )
124 {
125 2121 max3 = fabs(p1_2_p0_2);
126 }
127 double lower_bound_1;
128 double upper_bound_1;
129 int Delta_sign;
130 int int_tmp_result;
131 3993 lower_bound_1 = max1;
132 3993 upper_bound_1 = max1;
133
2/2
✓ Branch 0 taken 2046 times.
✓ Branch 1 taken 1947 times.
3993 if( (max2 < lower_bound_1) )
134 {
135 2046 lower_bound_1 = max2;
136 }
137 else
138 {
139
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1947 times.
1947 if( (max2 > upper_bound_1) )
140 {
141 ✗ upper_bound_1 = max2;
142 }
143 }
144
2/2
✓ Branch 0 taken 1770 times.
✓ Branch 1 taken 2223 times.
3993 if( (max3 < lower_bound_1) )
145 {
146 1770 lower_bound_1 = max3;
147 }
148 else
149 {
150
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2223 times.
2223 if( (max3 > upper_bound_1) )
151 {
152 ✗ upper_bound_1 = max3;
153 }
154 }
155
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (lower_bound_1 < 2.22985945097100191780e-74) )
156 {
157 ✗ return FPG_UNCERTAIN_VALUE;
158 }
159 else
160 {
161
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (upper_bound_1 > 2.59614842926741294957e+33) )
162 {
163 ✗ return FPG_UNCERTAIN_VALUE;
164 }
165 3993 eps = (8.99983341597279045654e-14 * (((max3 * max1) * max2) * max1));
166
1/2
✓ Branch 0 taken 3993 times.
✗ Branch 1 not taken.
3993 if( (Delta > eps) )
167 {
168 3993 int_tmp_result = 1;
169 }
170 else
171 {
172 ✗ if( (Delta < -eps) )
173 {
174 ✗ int_tmp_result = -1;
175 }
176 else
177 {
178 ✗ return FPG_UNCERTAIN_VALUE;
179 }
180 }
181 }
182 3993 Delta_sign = int_tmp_result;
183 3993 double max4 = max2;
184
2/2
✓ Branch 0 taken 2116 times.
✓ Branch 1 taken 1877 times.
3993 if( (max4 < fabs(l1)) )
185 {
186 2116 max4 = fabs(l1);
187 }
188
2/2
✓ Branch 0 taken 1164 times.
✓ Branch 1 taken 2829 times.
3993 if( (max4 < fabs(l2)) )
189 {
190 1164 max4 = fabs(l2);
191 }
192 3993 double max5 = max2;
193
2/2
✓ Branch 0 taken 2046 times.
✓ Branch 1 taken 1947 times.
3993 if( (max5 < max3) )
194 {
195 2046 max5 = max3;
196 }
197
2/2
✓ Branch 0 taken 1656 times.
✓ Branch 1 taken 2337 times.
3993 if( (max5 < fabs(l3)) )
198 {
199 1656 max5 = fabs(l3);
200 }
201 3993 double max6 = max2;
202
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max6 < fabs(q2_2_p0_2)) )
203 {
204 ✗ max6 = fabs(q2_2_p0_2);
205 }
206
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max6 < fabs(q0_0_p0_0)) )
207 {
208 ✗ max6 = fabs(q0_0_p0_0);
209 }
210
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max6 < fabs(q0_1_p0_1)) )
211 {
212 ✗ max6 = fabs(q0_1_p0_1);
213 }
214
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max6 < fabs(q0_2_p0_2)) )
215 {
216 ✗ max6 = fabs(q0_2_p0_2);
217 }
218
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max6 < fabs(q2_0_p0_0)) )
219 {
220 ✗ max6 = fabs(q2_0_p0_0);
221 }
222
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max6 < fabs(q2_1_p0_1)) )
223 {
224 ✗ max6 = fabs(q2_1_p0_1);
225 }
226 3993 double max7 = max3;
227
2/2
✓ Branch 0 taken 1077 times.
✓ Branch 1 taken 2916 times.
3993 if( (max7 < fabs(p3_0_p0_0)) )
228 {
229 1077 max7 = fabs(p3_0_p0_0);
230 }
231
2/2
✓ Branch 0 taken 349 times.
✓ Branch 1 taken 3644 times.
3993 if( (max7 < fabs(p3_1_p0_1)) )
232 {
233 349 max7 = fabs(p3_1_p0_1);
234 }
235
2/2
✓ Branch 0 taken 1166 times.
✓ Branch 1 taken 2827 times.
3993 if( (max7 < fabs(p3_2_p0_2)) )
236 {
237 1166 max7 = fabs(p3_2_p0_2);
238 }
239 int r_sign;
240 int int_tmp_result_FFWKCAA;
241 3993 lower_bound_1 = max6;
242 3993 upper_bound_1 = max6;
243
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max5 < lower_bound_1) )
244 {
245 ✗ lower_bound_1 = max5;
246 }
247 else
248 {
249
2/2
✓ Branch 0 taken 2797 times.
✓ Branch 1 taken 1196 times.
3993 if( (max5 > upper_bound_1) )
250 {
251 2797 upper_bound_1 = max5;
252 }
253 }
254
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max1 < lower_bound_1) )
255 {
256 ✗ lower_bound_1 = max1;
257 }
258 else
259 {
260
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max1 > upper_bound_1) )
261 {
262 ✗ upper_bound_1 = max1;
263 }
264 }
265
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (max4 < lower_bound_1) )
266 {
267 ✗ lower_bound_1 = max4;
268 }
269 else
270 {
271
2/2
✓ Branch 0 taken 1515 times.
✓ Branch 1 taken 2478 times.
3993 if( (max4 > upper_bound_1) )
272 {
273 1515 upper_bound_1 = max4;
274 }
275 }
276
2/2
✓ Branch 0 taken 995 times.
✓ Branch 1 taken 2998 times.
3993 if( (max7 < lower_bound_1) )
277 {
278 995 lower_bound_1 = max7;
279 }
280 else
281 {
282
2/2
✓ Branch 0 taken 665 times.
✓ Branch 1 taken 2333 times.
2998 if( (max7 > upper_bound_1) )
283 {
284 665 upper_bound_1 = max7;
285 }
286 }
287
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (lower_bound_1 < 5.53478725478149652989e-50) )
288 {
289 ✗ return FPG_UNCERTAIN_VALUE;
290 }
291 else
292 {
293
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3993 times.
3993 if( (upper_bound_1 > 2.59614842926741294957e+33) )
294 {
295 ✗ return FPG_UNCERTAIN_VALUE;
296 }
297 3993 eps = (7.73996217364502738018e-13 * (((((max7 * max1) * max6) * max1) * max5) * max4));
298
2/2
✓ Branch 0 taken 2900 times.
✓ Branch 1 taken 1093 times.
3993 if( (r > eps) )
299 {
300 2900 int_tmp_result_FFWKCAA = 1;
301 }
302 else
303 {
304
2/2
✓ Branch 0 taken 952 times.
✓ Branch 1 taken 141 times.
1093 if( (r < -eps) )
305 {
306 952 int_tmp_result_FFWKCAA = -1;
307 }
308 else
309 {
310 141 return FPG_UNCERTAIN_VALUE;
311 }
312 }
313 }
314 3852 r_sign = int_tmp_result_FFWKCAA;
315 3852 return (Delta_sign * r_sign);
316 }
317