GCC Code Coverage Report


Directory: ./
File: lib/geogram/numerics/predicates/side1.h
Date: 2026-09-07 02:37:58
Exec Total Coverage
Lines: 267 398 67.1%
Functions: 4 5 80.0%
Branches: 164 264 62.1%

Line Branch Exec Source
1 /* Automatically generated code, do not edit */
2 /* Generated from source file: side1.pck */
3
4 3914096 inline int side1_3d_filter( const double* p0, const double* p1, const double* q0) {
5 3914096 double p0_0_p1_0 = (p0[0] - p1[0]);
6 3914096 double p0_1_p1_1 = (p0[1] - p1[1]);
7 3914096 double p0_2_p1_2 = (p0[2] - p1[2]);
8 double r;
9 3914096 r = (1 * (((p0_0_p1_0 * p0_0_p1_0) + (p0_1_p1_1 * p0_1_p1_1)) + (p0_2_p1_2 * p0_2_p1_2)));
10 3914096 double p1_0_p0_0 = (p1[0] - p0[0]);
11 3914096 double q0_0_p0_0 = (q0[0] - p0[0]);
12 3914096 double p1_1_p0_1 = (p1[1] - p0[1]);
13 3914096 double q0_1_p0_1 = (q0[1] - p0[1]);
14 3914096 double p1_2_p0_2 = (p1[2] - p0[2]);
15 3914096 double q0_2_p0_2 = (q0[2] - p0[2]);
16 3914096 r = (r - (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))));
17 int int_tmp_result;
18 double eps;
19 3914096 double max1 = fabs(p0_0_p1_0);
20
2/2
✓ Branch 0 taken 1657346 times.
✓ Branch 1 taken 2256750 times.
3914096 if( (max1 < fabs(p0_1_p1_1)) )
21 {
22 1657346 max1 = fabs(p0_1_p1_1);
23 }
24
2/2
✓ Branch 0 taken 1036655 times.
✓ Branch 1 taken 2877441 times.
3914096 if( (max1 < fabs(p0_2_p1_2)) )
25 {
26 1036655 max1 = fabs(p0_2_p1_2);
27 }
28
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914096 times.
3914096 if( (max1 < fabs(p1_0_p0_0)) )
29 {
30 max1 = fabs(p1_0_p0_0);
31 }
32
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914096 times.
3914096 if( (max1 < fabs(p1_1_p0_1)) )
33 {
34 max1 = fabs(p1_1_p0_1);
35 }
36
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914096 times.
3914096 if( (max1 < fabs(p1_2_p0_2)) )
37 {
38 max1 = fabs(p1_2_p0_2);
39 }
40 3914096 double max2 = fabs(p0_0_p1_0);
41
2/2
✓ Branch 0 taken 1657346 times.
✓ Branch 1 taken 2256750 times.
3914096 if( (max2 < fabs(p0_1_p1_1)) )
42 {
43 1657346 max2 = fabs(p0_1_p1_1);
44 }
45
2/2
✓ Branch 0 taken 1036655 times.
✓ Branch 1 taken 2877441 times.
3914096 if( (max2 < fabs(p0_2_p1_2)) )
46 {
47 1036655 max2 = fabs(p0_2_p1_2);
48 }
49
2/2
✓ Branch 0 taken 401285 times.
✓ Branch 1 taken 3512811 times.
3914096 if( (max2 < fabs(q0_0_p0_0)) )
50 {
51 401285 max2 = fabs(q0_0_p0_0);
52 }
53
2/2
✓ Branch 0 taken 468449 times.
✓ Branch 1 taken 3445647 times.
3914096 if( (max2 < fabs(q0_1_p0_1)) )
54 {
55 468449 max2 = fabs(q0_1_p0_1);
56 }
57
2/2
✓ Branch 0 taken 329950 times.
✓ Branch 1 taken 3584146 times.
3914096 if( (max2 < fabs(q0_2_p0_2)) )
58 {
59 329950 max2 = fabs(q0_2_p0_2);
60 }
61 double lower_bound_1;
62 double upper_bound_1;
63 3914096 lower_bound_1 = max1;
64 3914096 upper_bound_1 = max1;
65
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914096 times.
3914096 if( (max2 < lower_bound_1) )
66 {
67 lower_bound_1 = max2;
68 }
69 else
70 {
71
2/2
✓ Branch 0 taken 1093578 times.
✓ Branch 1 taken 2820518 times.
3914096 if( (max2 > upper_bound_1) )
72 {
73 1093578 upper_bound_1 = max2;
74 }
75 }
76
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914096 times.
3914096 if( (lower_bound_1 < 2.23755023300058943229e-147) )
77 {
78 return FPG_UNCERTAIN_VALUE;
79 }
80 else
81 {
82
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914096 times.
3914096 if( (upper_bound_1 > 5.59936185544450928309e+101) )
83 {
84 return FPG_UNCERTAIN_VALUE;
85 }
86 3914096 eps = (4.44425370757048798480e-15 * (max1 * max2));
87
2/2
✓ Branch 0 taken 3149321 times.
✓ Branch 1 taken 764775 times.
3914096 if( (r > eps) )
88 {
89 3149321 int_tmp_result = 1;
90 }
91 else
92 {
93
2/2
✓ Branch 0 taken 557745 times.
✓ Branch 1 taken 207030 times.
764775 if( (r < -eps) )
94 {
95 557745 int_tmp_result = -1;
96 }
97 else
98 {
99 207030 return FPG_UNCERTAIN_VALUE;
100 }
101 }
102 }
103 3707066 return int_tmp_result;
104 }
105
106
107 52756 inline int side1_4d_filter( const double* p0, const double* p1, const double* q0) {
108 52756 double p0_0_p1_0 = (p0[0] - p1[0]);
109 52756 double p0_1_p1_1 = (p0[1] - p1[1]);
110 52756 double p0_2_p1_2 = (p0[2] - p1[2]);
111 52756 double p0_3_p1_3 = (p0[3] - p1[3]);
112 double r;
113 52756 r = (1 * ((((p0_0_p1_0 * p0_0_p1_0) + (p0_1_p1_1 * p0_1_p1_1)) + (p0_2_p1_2 * p0_2_p1_2)) + (p0_3_p1_3 * p0_3_p1_3)));
114 52756 double p1_0_p0_0 = (p1[0] - p0[0]);
115 52756 double q0_0_p0_0 = (q0[0] - p0[0]);
116 52756 double p1_1_p0_1 = (p1[1] - p0[1]);
117 52756 double q0_1_p0_1 = (q0[1] - p0[1]);
118 52756 double p1_2_p0_2 = (p1[2] - p0[2]);
119 52756 double q0_2_p0_2 = (q0[2] - p0[2]);
120 52756 double p1_3_p0_3 = (p1[3] - p0[3]);
121 52756 double q0_3_p0_3 = (q0[3] - p0[3]);
122 52756 r = (r - (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)) + (p1_3_p0_3 * q0_3_p0_3))));
123 int int_tmp_result;
124 double eps;
125 52756 double max1 = fabs(p1_0_p0_0);
126
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 52756 times.
52756 if( (max1 < fabs(p0_0_p1_0)) )
127 {
128 max1 = fabs(p0_0_p1_0);
129 }
130
2/2
✓ Branch 0 taken 35218 times.
✓ Branch 1 taken 17538 times.
52756 if( (max1 < fabs(p0_1_p1_1)) )
131 {
132 35218 max1 = fabs(p0_1_p1_1);
133 }
134
2/2
✓ Branch 0 taken 23252 times.
✓ Branch 1 taken 29504 times.
52756 if( (max1 < fabs(p0_2_p1_2)) )
135 {
136 23252 max1 = fabs(p0_2_p1_2);
137 }
138
2/2
✓ Branch 0 taken 11605 times.
✓ Branch 1 taken 41151 times.
52756 if( (max1 < fabs(p0_3_p1_3)) )
139 {
140 11605 max1 = fabs(p0_3_p1_3);
141 }
142
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 52756 times.
52756 if( (max1 < fabs(p1_1_p0_1)) )
143 {
144 max1 = fabs(p1_1_p0_1);
145 }
146
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 52756 times.
52756 if( (max1 < fabs(p1_2_p0_2)) )
147 {
148 max1 = fabs(p1_2_p0_2);
149 }
150
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 52756 times.
52756 if( (max1 < fabs(p1_3_p0_3)) )
151 {
152 max1 = fabs(p1_3_p0_3);
153 }
154 52756 double max2 = fabs(p0_0_p1_0);
155
2/2
✓ Branch 0 taken 35218 times.
✓ Branch 1 taken 17538 times.
52756 if( (max2 < fabs(p0_1_p1_1)) )
156 {
157 35218 max2 = fabs(p0_1_p1_1);
158 }
159
2/2
✓ Branch 0 taken 23252 times.
✓ Branch 1 taken 29504 times.
52756 if( (max2 < fabs(p0_2_p1_2)) )
160 {
161 23252 max2 = fabs(p0_2_p1_2);
162 }
163
2/2
✓ Branch 0 taken 11605 times.
✓ Branch 1 taken 41151 times.
52756 if( (max2 < fabs(p0_3_p1_3)) )
164 {
165 11605 max2 = fabs(p0_3_p1_3);
166 }
167
2/2
✓ Branch 0 taken 9358 times.
✓ Branch 1 taken 43398 times.
52756 if( (max2 < fabs(q0_0_p0_0)) )
168 {
169 9358 max2 = fabs(q0_0_p0_0);
170 }
171
2/2
✓ Branch 0 taken 8243 times.
✓ Branch 1 taken 44513 times.
52756 if( (max2 < fabs(q0_1_p0_1)) )
172 {
173 8243 max2 = fabs(q0_1_p0_1);
174 }
175
2/2
✓ Branch 0 taken 6717 times.
✓ Branch 1 taken 46039 times.
52756 if( (max2 < fabs(q0_2_p0_2)) )
176 {
177 6717 max2 = fabs(q0_2_p0_2);
178 }
179
2/2
✓ Branch 0 taken 22725 times.
✓ Branch 1 taken 30031 times.
52756 if( (max2 < fabs(q0_3_p0_3)) )
180 {
181 22725 max2 = fabs(q0_3_p0_3);
182 }
183 double lower_bound_1;
184 double upper_bound_1;
185 52756 lower_bound_1 = max2;
186 52756 upper_bound_1 = max2;
187
2/2
✓ Branch 0 taken 28605 times.
✓ Branch 1 taken 24151 times.
52756 if( (max1 < lower_bound_1) )
188 {
189 28605 lower_bound_1 = max1;
190 }
191 else
192 {
193
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24151 times.
24151 if( (max1 > upper_bound_1) )
194 {
195 upper_bound_1 = max1;
196 }
197 }
198
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 52756 times.
52756 if( (lower_bound_1 < 1.85816790703293534018e-147) )
199 {
200 return FPG_UNCERTAIN_VALUE;
201 }
202 else
203 {
204
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 52756 times.
52756 if( (upper_bound_1 > 5.59936185544450928309e+101) )
205 {
206 return FPG_UNCERTAIN_VALUE;
207 }
208 52756 eps = (6.44428177279185717888e-15 * (max1 * max2));
209
2/2
✓ Branch 0 taken 37608 times.
✓ Branch 1 taken 15148 times.
52756 if( (r > eps) )
210 {
211 37608 int_tmp_result = 1;
212 }
213 else
214 {
215
1/2
✓ Branch 0 taken 15148 times.
✗ Branch 1 not taken.
15148 if( (r < -eps) )
216 {
217 15148 int_tmp_result = -1;
218 }
219 else
220 {
221 return FPG_UNCERTAIN_VALUE;
222 }
223 }
224 }
225 52756 return int_tmp_result;
226 }
227
228
229 61677 inline int side1_6d_filter( const double* p0, const double* p1, const double* q0) {
230 61677 double p0_0_p1_0 = (p0[0] - p1[0]);
231 61677 double p0_1_p1_1 = (p0[1] - p1[1]);
232 61677 double p0_2_p1_2 = (p0[2] - p1[2]);
233 61677 double p0_3_p1_3 = (p0[3] - p1[3]);
234 61677 double p0_4_p1_4 = (p0[4] - p1[4]);
235 61677 double p0_5_p1_5 = (p0[5] - p1[5]);
236 double r;
237 61677 r = (1 * ((((((p0_0_p1_0 * p0_0_p1_0) + (p0_1_p1_1 * p0_1_p1_1)) + (p0_2_p1_2 * p0_2_p1_2)) + (p0_3_p1_3 * p0_3_p1_3)) + (p0_4_p1_4 * p0_4_p1_4)) + (p0_5_p1_5 * p0_5_p1_5)));
238 61677 double p1_0_p0_0 = (p1[0] - p0[0]);
239 61677 double q0_0_p0_0 = (q0[0] - p0[0]);
240 61677 double p1_1_p0_1 = (p1[1] - p0[1]);
241 61677 double q0_1_p0_1 = (q0[1] - p0[1]);
242 61677 double p1_2_p0_2 = (p1[2] - p0[2]);
243 61677 double q0_2_p0_2 = (q0[2] - p0[2]);
244 61677 double p1_3_p0_3 = (p1[3] - p0[3]);
245 61677 double q0_3_p0_3 = (q0[3] - p0[3]);
246 61677 double p1_4_p0_4 = (p1[4] - p0[4]);
247 61677 double q0_4_p0_4 = (q0[4] - p0[4]);
248 61677 double p1_5_p0_5 = (p1[5] - p0[5]);
249 61677 double q0_5_p0_5 = (q0[5] - p0[5]);
250 61677 r = (r - (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)) + (p1_3_p0_3 * q0_3_p0_3)) + (p1_4_p0_4 * q0_4_p0_4)) + (p1_5_p0_5 * q0_5_p0_5))));
251 int int_tmp_result;
252 double eps;
253 61677 double max1 = fabs(p0_0_p1_0);
254
2/2
✓ Branch 0 taken 43190 times.
✓ Branch 1 taken 18487 times.
61677 if( (max1 < fabs(p0_1_p1_1)) )
255 {
256 43190 max1 = fabs(p0_1_p1_1);
257 }
258
2/2
✓ Branch 0 taken 27245 times.
✓ Branch 1 taken 34432 times.
61677 if( (max1 < fabs(p0_2_p1_2)) )
259 {
260 27245 max1 = fabs(p0_2_p1_2);
261 }
262
2/2
✓ Branch 0 taken 10823 times.
✓ Branch 1 taken 50854 times.
61677 if( (max1 < fabs(p0_3_p1_3)) )
263 {
264 10823 max1 = fabs(p0_3_p1_3);
265 }
266
2/2
✓ Branch 0 taken 9575 times.
✓ Branch 1 taken 52102 times.
61677 if( (max1 < fabs(p0_4_p1_4)) )
267 {
268 9575 max1 = fabs(p0_4_p1_4);
269 }
270
2/2
✓ Branch 0 taken 1573 times.
✓ Branch 1 taken 60104 times.
61677 if( (max1 < fabs(p0_5_p1_5)) )
271 {
272 1573 max1 = fabs(p0_5_p1_5);
273 }
274
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (max1 < fabs(p1_0_p0_0)) )
275 {
276 max1 = fabs(p1_0_p0_0);
277 }
278
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (max1 < fabs(p1_1_p0_1)) )
279 {
280 max1 = fabs(p1_1_p0_1);
281 }
282
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (max1 < fabs(p1_2_p0_2)) )
283 {
284 max1 = fabs(p1_2_p0_2);
285 }
286
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (max1 < fabs(p1_3_p0_3)) )
287 {
288 max1 = fabs(p1_3_p0_3);
289 }
290
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (max1 < fabs(p1_4_p0_4)) )
291 {
292 max1 = fabs(p1_4_p0_4);
293 }
294
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (max1 < fabs(p1_5_p0_5)) )
295 {
296 max1 = fabs(p1_5_p0_5);
297 }
298 61677 double max2 = fabs(p0_0_p1_0);
299
2/2
✓ Branch 0 taken 43190 times.
✓ Branch 1 taken 18487 times.
61677 if( (max2 < fabs(p0_1_p1_1)) )
300 {
301 43190 max2 = fabs(p0_1_p1_1);
302 }
303
2/2
✓ Branch 0 taken 27245 times.
✓ Branch 1 taken 34432 times.
61677 if( (max2 < fabs(p0_2_p1_2)) )
304 {
305 27245 max2 = fabs(p0_2_p1_2);
306 }
307
2/2
✓ Branch 0 taken 10823 times.
✓ Branch 1 taken 50854 times.
61677 if( (max2 < fabs(p0_3_p1_3)) )
308 {
309 10823 max2 = fabs(p0_3_p1_3);
310 }
311
2/2
✓ Branch 0 taken 9575 times.
✓ Branch 1 taken 52102 times.
61677 if( (max2 < fabs(p0_4_p1_4)) )
312 {
313 9575 max2 = fabs(p0_4_p1_4);
314 }
315
2/2
✓ Branch 0 taken 1573 times.
✓ Branch 1 taken 60104 times.
61677 if( (max2 < fabs(p0_5_p1_5)) )
316 {
317 1573 max2 = fabs(p0_5_p1_5);
318 }
319
2/2
✓ Branch 0 taken 7537 times.
✓ Branch 1 taken 54140 times.
61677 if( (max2 < fabs(q0_0_p0_0)) )
320 {
321 7537 max2 = fabs(q0_0_p0_0);
322 }
323
2/2
✓ Branch 0 taken 7477 times.
✓ Branch 1 taken 54200 times.
61677 if( (max2 < fabs(q0_1_p0_1)) )
324 {
325 7477 max2 = fabs(q0_1_p0_1);
326 }
327
2/2
✓ Branch 0 taken 6325 times.
✓ Branch 1 taken 55352 times.
61677 if( (max2 < fabs(q0_2_p0_2)) )
328 {
329 6325 max2 = fabs(q0_2_p0_2);
330 }
331
2/2
✓ Branch 0 taken 28511 times.
✓ Branch 1 taken 33166 times.
61677 if( (max2 < fabs(q0_3_p0_3)) )
332 {
333 28511 max2 = fabs(q0_3_p0_3);
334 }
335
2/2
✓ Branch 0 taken 30570 times.
✓ Branch 1 taken 31107 times.
61677 if( (max2 < fabs(q0_4_p0_4)) )
336 {
337 30570 max2 = fabs(q0_4_p0_4);
338 }
339
2/2
✓ Branch 0 taken 6593 times.
✓ Branch 1 taken 55084 times.
61677 if( (max2 < fabs(q0_5_p0_5)) )
340 {
341 6593 max2 = fabs(q0_5_p0_5);
342 }
343 double lower_bound_1;
344 double upper_bound_1;
345 61677 lower_bound_1 = max1;
346 61677 upper_bound_1 = max1;
347
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (max2 < lower_bound_1) )
348 {
349 lower_bound_1 = max2;
350 }
351 else
352 {
353
2/2
✓ Branch 0 taken 40225 times.
✓ Branch 1 taken 21452 times.
61677 if( (max2 > upper_bound_1) )
354 {
355 40225 upper_bound_1 = max2;
356 }
357 }
358
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (lower_bound_1 < 1.41511993781011659868e-147) )
359 {
360 return FPG_UNCERTAIN_VALUE;
361 }
362 else
363 {
364
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 61677 times.
61677 if( (upper_bound_1 > 5.59936185544450928309e+101) )
365 {
366 return FPG_UNCERTAIN_VALUE;
367 }
368 61677 eps = (1.11111223981318615596e-14 * (max1 * max2));
369
2/2
✓ Branch 0 taken 39745 times.
✓ Branch 1 taken 21932 times.
61677 if( (r > eps) )
370 {
371 39745 int_tmp_result = 1;
372 }
373 else
374 {
375
1/2
✓ Branch 0 taken 21932 times.
✗ Branch 1 not taken.
21932 if( (r < -eps) )
376 {
377 21932 int_tmp_result = -1;
378 }
379 else
380 {
381 return FPG_UNCERTAIN_VALUE;
382 }
383 }
384 }
385 61677 return int_tmp_result;
386 }
387
388
389 inline int side1_7d_filter( const double* p0, const double* p1, const double* q0) {
390 double p0_0_p1_0 = (p0[0] - p1[0]);
391 double p0_1_p1_1 = (p0[1] - p1[1]);
392 double p0_2_p1_2 = (p0[2] - p1[2]);
393 double p0_3_p1_3 = (p0[3] - p1[3]);
394 double p0_4_p1_4 = (p0[4] - p1[4]);
395 double p0_5_p1_5 = (p0[5] - p1[5]);
396 double p0_6_p1_6 = (p0[6] - p1[6]);
397 double r;
398 r = (1 * (((((((p0_0_p1_0 * p0_0_p1_0) + (p0_1_p1_1 * p0_1_p1_1)) + (p0_2_p1_2 * p0_2_p1_2)) + (p0_3_p1_3 * p0_3_p1_3)) + (p0_4_p1_4 * p0_4_p1_4)) + (p0_5_p1_5 * p0_5_p1_5)) + (p0_6_p1_6 * p0_6_p1_6)));
399 double p1_0_p0_0 = (p1[0] - p0[0]);
400 double q0_0_p0_0 = (q0[0] - p0[0]);
401 double p1_1_p0_1 = (p1[1] - p0[1]);
402 double q0_1_p0_1 = (q0[1] - p0[1]);
403 double p1_2_p0_2 = (p1[2] - p0[2]);
404 double q0_2_p0_2 = (q0[2] - p0[2]);
405 double p1_3_p0_3 = (p1[3] - p0[3]);
406 double q0_3_p0_3 = (q0[3] - p0[3]);
407 double p1_4_p0_4 = (p1[4] - p0[4]);
408 double q0_4_p0_4 = (q0[4] - p0[4]);
409 double p1_5_p0_5 = (p1[5] - p0[5]);
410 double q0_5_p0_5 = (q0[5] - p0[5]);
411 double p1_6_p0_6 = (p1[6] - p0[6]);
412 double q0_6_p0_6 = (q0[6] - p0[6]);
413 r = (r - (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)) + (p1_3_p0_3 * q0_3_p0_3)) + (p1_4_p0_4 * q0_4_p0_4)) + (p1_5_p0_5 * q0_5_p0_5)) + (p1_6_p0_6 * q0_6_p0_6))));
414 int int_tmp_result;
415 double eps;
416 double max1 = fabs(p0_0_p1_0);
417 if( (max1 < fabs(p0_1_p1_1)) )
418 {
419 max1 = fabs(p0_1_p1_1);
420 }
421 if( (max1 < fabs(p0_2_p1_2)) )
422 {
423 max1 = fabs(p0_2_p1_2);
424 }
425 if( (max1 < fabs(p0_3_p1_3)) )
426 {
427 max1 = fabs(p0_3_p1_3);
428 }
429 if( (max1 < fabs(p0_4_p1_4)) )
430 {
431 max1 = fabs(p0_4_p1_4);
432 }
433 if( (max1 < fabs(p0_5_p1_5)) )
434 {
435 max1 = fabs(p0_5_p1_5);
436 }
437 if( (max1 < fabs(p0_6_p1_6)) )
438 {
439 max1 = fabs(p0_6_p1_6);
440 }
441 if( (max1 < fabs(p1_0_p0_0)) )
442 {
443 max1 = fabs(p1_0_p0_0);
444 }
445 if( (max1 < fabs(p1_1_p0_1)) )
446 {
447 max1 = fabs(p1_1_p0_1);
448 }
449 if( (max1 < fabs(p1_2_p0_2)) )
450 {
451 max1 = fabs(p1_2_p0_2);
452 }
453 if( (max1 < fabs(p1_3_p0_3)) )
454 {
455 max1 = fabs(p1_3_p0_3);
456 }
457 if( (max1 < fabs(p1_4_p0_4)) )
458 {
459 max1 = fabs(p1_4_p0_4);
460 }
461 if( (max1 < fabs(p1_5_p0_5)) )
462 {
463 max1 = fabs(p1_5_p0_5);
464 }
465 if( (max1 < fabs(p1_6_p0_6)) )
466 {
467 max1 = fabs(p1_6_p0_6);
468 }
469 double max2 = fabs(p0_0_p1_0);
470 if( (max2 < fabs(p0_1_p1_1)) )
471 {
472 max2 = fabs(p0_1_p1_1);
473 }
474 if( (max2 < fabs(p0_2_p1_2)) )
475 {
476 max2 = fabs(p0_2_p1_2);
477 }
478 if( (max2 < fabs(p0_3_p1_3)) )
479 {
480 max2 = fabs(p0_3_p1_3);
481 }
482 if( (max2 < fabs(p0_4_p1_4)) )
483 {
484 max2 = fabs(p0_4_p1_4);
485 }
486 if( (max2 < fabs(p0_5_p1_5)) )
487 {
488 max2 = fabs(p0_5_p1_5);
489 }
490 if( (max2 < fabs(p0_6_p1_6)) )
491 {
492 max2 = fabs(p0_6_p1_6);
493 }
494 if( (max2 < fabs(q0_0_p0_0)) )
495 {
496 max2 = fabs(q0_0_p0_0);
497 }
498 if( (max2 < fabs(q0_1_p0_1)) )
499 {
500 max2 = fabs(q0_1_p0_1);
501 }
502 if( (max2 < fabs(q0_2_p0_2)) )
503 {
504 max2 = fabs(q0_2_p0_2);
505 }
506 if( (max2 < fabs(q0_3_p0_3)) )
507 {
508 max2 = fabs(q0_3_p0_3);
509 }
510 if( (max2 < fabs(q0_4_p0_4)) )
511 {
512 max2 = fabs(q0_4_p0_4);
513 }
514 if( (max2 < fabs(q0_5_p0_5)) )
515 {
516 max2 = fabs(q0_5_p0_5);
517 }
518 if( (max2 < fabs(q0_6_p0_6)) )
519 {
520 max2 = fabs(q0_6_p0_6);
521 }
522 double lower_bound_1;
523 double upper_bound_1;
524 lower_bound_1 = max1;
525 upper_bound_1 = max1;
526 if( (max2 < lower_bound_1) )
527 {
528 lower_bound_1 = max2;
529 }
530 else
531 {
532 if( (max2 > upper_bound_1) )
533 {
534 upper_bound_1 = max2;
535 }
536 }
537 if( (lower_bound_1 < 1.27080861580266953580e-147) )
538 {
539 return FPG_UNCERTAIN_VALUE;
540 }
541 else
542 {
543 if( (upper_bound_1 > 5.59936185544450928309e+101) )
544 {
545 return FPG_UNCERTAIN_VALUE;
546 }
547 eps = (1.37779349582504943796e-14 * (max1 * max2));
548 if( (r > eps) )
549 {
550 int_tmp_result = 1;
551 }
552 else
553 {
554 if( (r < -eps) )
555 {
556 int_tmp_result = -1;
557 }
558 else
559 {
560 return FPG_UNCERTAIN_VALUE;
561 }
562 }
563 }
564 return int_tmp_result;
565 }
566
567
568 60695 inline int side1_8d_filter( const double* p0, const double* p1, const double* q0) {
569 60695 double p0_0_p1_0 = (p0[0] - p1[0]);
570 60695 double p0_1_p1_1 = (p0[1] - p1[1]);
571 60695 double p0_2_p1_2 = (p0[2] - p1[2]);
572 60695 double p0_3_p1_3 = (p0[3] - p1[3]);
573 60695 double p0_4_p1_4 = (p0[4] - p1[4]);
574 60695 double p0_5_p1_5 = (p0[5] - p1[5]);
575 60695 double p0_6_p1_6 = (p0[6] - p1[6]);
576 60695 double p0_7_p1_7 = (p0[7] - p1[7]);
577 double r;
578 60695 r = (1 * ((((((((p0_0_p1_0 * p0_0_p1_0) + (p0_1_p1_1 * p0_1_p1_1)) + (p0_2_p1_2 * p0_2_p1_2)) + (p0_3_p1_3 * p0_3_p1_3)) + (p0_4_p1_4 * p0_4_p1_4)) + (p0_5_p1_5 * p0_5_p1_5)) + (p0_6_p1_6 * p0_6_p1_6)) + (p0_7_p1_7 * p0_7_p1_7)));
579 60695 double p1_0_p0_0 = (p1[0] - p0[0]);
580 60695 double q0_0_p0_0 = (q0[0] - p0[0]);
581 60695 double p1_1_p0_1 = (p1[1] - p0[1]);
582 60695 double q0_1_p0_1 = (q0[1] - p0[1]);
583 60695 double p1_2_p0_2 = (p1[2] - p0[2]);
584 60695 double q0_2_p0_2 = (q0[2] - p0[2]);
585 60695 double p1_3_p0_3 = (p1[3] - p0[3]);
586 60695 double q0_3_p0_3 = (q0[3] - p0[3]);
587 60695 double p1_4_p0_4 = (p1[4] - p0[4]);
588 60695 double q0_4_p0_4 = (q0[4] - p0[4]);
589 60695 double p1_5_p0_5 = (p1[5] - p0[5]);
590 60695 double q0_5_p0_5 = (q0[5] - p0[5]);
591 60695 double p1_6_p0_6 = (p1[6] - p0[6]);
592 60695 double q0_6_p0_6 = (q0[6] - p0[6]);
593 60695 double p1_7_p0_7 = (p1[7] - p0[7]);
594 60695 double q0_7_p0_7 = (q0[7] - p0[7]);
595 60695 r = (r - (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)) + (p1_3_p0_3 * q0_3_p0_3)) + (p1_4_p0_4 * q0_4_p0_4)) + (p1_5_p0_5 * q0_5_p0_5)) + (p1_6_p0_6 * q0_6_p0_6)) + (p1_7_p0_7 * q0_7_p0_7))));
596 int int_tmp_result;
597 double eps;
598 60695 double max1 = fabs(p0_1_p1_1);
599
2/2
✓ Branch 0 taken 31773 times.
✓ Branch 1 taken 28922 times.
60695 if( (max1 < fabs(p0_2_p1_2)) )
600 {
601 31773 max1 = fabs(p0_2_p1_2);
602 }
603
2/2
✓ Branch 0 taken 6666 times.
✓ Branch 1 taken 54029 times.
60695 if( (max1 < fabs(p1_0_p0_0)) )
604 {
605 6666 max1 = fabs(p1_0_p0_0);
606 }
607
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p0_0_p1_0)) )
608 {
609 max1 = fabs(p0_0_p1_0);
610 }
611
2/2
✓ Branch 0 taken 11874 times.
✓ Branch 1 taken 48821 times.
60695 if( (max1 < fabs(p0_3_p1_3)) )
612 {
613 11874 max1 = fabs(p0_3_p1_3);
614 }
615
2/2
✓ Branch 0 taken 12133 times.
✓ Branch 1 taken 48562 times.
60695 if( (max1 < fabs(p0_4_p1_4)) )
616 {
617 12133 max1 = fabs(p0_4_p1_4);
618 }
619
2/2
✓ Branch 0 taken 1642 times.
✓ Branch 1 taken 59053 times.
60695 if( (max1 < fabs(p0_5_p1_5)) )
620 {
621 1642 max1 = fabs(p0_5_p1_5);
622 }
623
2/2
✓ Branch 0 taken 5158 times.
✓ Branch 1 taken 55537 times.
60695 if( (max1 < fabs(p0_6_p1_6)) )
624 {
625 5158 max1 = fabs(p0_6_p1_6);
626 }
627
2/2
✓ Branch 0 taken 4770 times.
✓ Branch 1 taken 55925 times.
60695 if( (max1 < fabs(p0_7_p1_7)) )
628 {
629 4770 max1 = fabs(p0_7_p1_7);
630 }
631
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p1_1_p0_1)) )
632 {
633 max1 = fabs(p1_1_p0_1);
634 }
635
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p1_2_p0_2)) )
636 {
637 max1 = fabs(p1_2_p0_2);
638 }
639
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p1_3_p0_3)) )
640 {
641 max1 = fabs(p1_3_p0_3);
642 }
643
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p1_4_p0_4)) )
644 {
645 max1 = fabs(p1_4_p0_4);
646 }
647
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p1_5_p0_5)) )
648 {
649 max1 = fabs(p1_5_p0_5);
650 }
651
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p1_6_p0_6)) )
652 {
653 max1 = fabs(p1_6_p0_6);
654 }
655
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max1 < fabs(p1_7_p0_7)) )
656 {
657 max1 = fabs(p1_7_p0_7);
658 }
659 60695 double max2 = fabs(p0_1_p1_1);
660
2/2
✓ Branch 0 taken 31773 times.
✓ Branch 1 taken 28922 times.
60695 if( (max2 < fabs(p0_2_p1_2)) )
661 {
662 31773 max2 = fabs(p0_2_p1_2);
663 }
664
2/2
✓ Branch 0 taken 6666 times.
✓ Branch 1 taken 54029 times.
60695 if( (max2 < fabs(p0_0_p1_0)) )
665 {
666 6666 max2 = fabs(p0_0_p1_0);
667 }
668
2/2
✓ Branch 0 taken 11874 times.
✓ Branch 1 taken 48821 times.
60695 if( (max2 < fabs(p0_3_p1_3)) )
669 {
670 11874 max2 = fabs(p0_3_p1_3);
671 }
672
2/2
✓ Branch 0 taken 12133 times.
✓ Branch 1 taken 48562 times.
60695 if( (max2 < fabs(p0_4_p1_4)) )
673 {
674 12133 max2 = fabs(p0_4_p1_4);
675 }
676
2/2
✓ Branch 0 taken 1642 times.
✓ Branch 1 taken 59053 times.
60695 if( (max2 < fabs(p0_5_p1_5)) )
677 {
678 1642 max2 = fabs(p0_5_p1_5);
679 }
680
2/2
✓ Branch 0 taken 5158 times.
✓ Branch 1 taken 55537 times.
60695 if( (max2 < fabs(p0_6_p1_6)) )
681 {
682 5158 max2 = fabs(p0_6_p1_6);
683 }
684
2/2
✓ Branch 0 taken 4770 times.
✓ Branch 1 taken 55925 times.
60695 if( (max2 < fabs(p0_7_p1_7)) )
685 {
686 4770 max2 = fabs(p0_7_p1_7);
687 }
688
2/2
✓ Branch 0 taken 6784 times.
✓ Branch 1 taken 53911 times.
60695 if( (max2 < fabs(q0_0_p0_0)) )
689 {
690 6784 max2 = fabs(q0_0_p0_0);
691 }
692
2/2
✓ Branch 0 taken 7926 times.
✓ Branch 1 taken 52769 times.
60695 if( (max2 < fabs(q0_1_p0_1)) )
693 {
694 7926 max2 = fabs(q0_1_p0_1);
695 }
696
2/2
✓ Branch 0 taken 6888 times.
✓ Branch 1 taken 53807 times.
60695 if( (max2 < fabs(q0_2_p0_2)) )
697 {
698 6888 max2 = fabs(q0_2_p0_2);
699 }
700
2/2
✓ Branch 0 taken 27099 times.
✓ Branch 1 taken 33596 times.
60695 if( (max2 < fabs(q0_3_p0_3)) )
701 {
702 27099 max2 = fabs(q0_3_p0_3);
703 }
704
2/2
✓ Branch 0 taken 30715 times.
✓ Branch 1 taken 29980 times.
60695 if( (max2 < fabs(q0_4_p0_4)) )
705 {
706 30715 max2 = fabs(q0_4_p0_4);
707 }
708
2/2
✓ Branch 0 taken 6192 times.
✓ Branch 1 taken 54503 times.
60695 if( (max2 < fabs(q0_5_p0_5)) )
709 {
710 6192 max2 = fabs(q0_5_p0_5);
711 }
712
2/2
✓ Branch 0 taken 9335 times.
✓ Branch 1 taken 51360 times.
60695 if( (max2 < fabs(q0_6_p0_6)) )
713 {
714 9335 max2 = fabs(q0_6_p0_6);
715 }
716
2/2
✓ Branch 0 taken 9418 times.
✓ Branch 1 taken 51277 times.
60695 if( (max2 < fabs(q0_7_p0_7)) )
717 {
718 9418 max2 = fabs(q0_7_p0_7);
719 }
720 double lower_bound_1;
721 double upper_bound_1;
722 60695 lower_bound_1 = max1;
723 60695 upper_bound_1 = max1;
724
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (max2 < lower_bound_1) )
725 {
726 lower_bound_1 = max2;
727 }
728 else
729 {
730
2/2
✓ Branch 0 taken 41250 times.
✓ Branch 1 taken 19445 times.
60695 if( (max2 > upper_bound_1) )
731 {
732 41250 upper_bound_1 = max2;
733 }
734 }
735
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (lower_bound_1 < 1.15542931091530087067e-147) )
736 {
737 return FPG_UNCERTAIN_VALUE;
738 }
739 else
740 {
741
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 60695 times.
60695 if( (upper_bound_1 > 5.59936185544450928309e+101) )
742 {
743 return FPG_UNCERTAIN_VALUE;
744 }
745 60695 eps = (1.66670090166682227006e-14 * (max1 * max2));
746
2/2
✓ Branch 0 taken 37627 times.
✓ Branch 1 taken 23068 times.
60695 if( (r > eps) )
747 {
748 37627 int_tmp_result = 1;
749 }
750 else
751 {
752
1/2
✓ Branch 0 taken 23068 times.
✗ Branch 1 not taken.
23068 if( (r < -eps) )
753 {
754 23068 int_tmp_result = -1;
755 }
756 else
757 {
758 return FPG_UNCERTAIN_VALUE;
759 }
760 }
761 }
762 60695 return int_tmp_result;
763 }
764