GCC Code Coverage Report


Directory: ./
File: lib/geogram/numerics/predicates/side1.h
Date: 2026-09-07 02:36:43
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 3914542 inline int side1_3d_filter( const double* p0, const double* p1, const double* q0) {
5 3914542 double p0_0_p1_0 = (p0[0] - p1[0]);
6 3914542 double p0_1_p1_1 = (p0[1] - p1[1]);
7 3914542 double p0_2_p1_2 = (p0[2] - p1[2]);
8 double r;
9 3914542 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 3914542 double p1_0_p0_0 = (p1[0] - p0[0]);
11 3914542 double q0_0_p0_0 = (q0[0] - p0[0]);
12 3914542 double p1_1_p0_1 = (p1[1] - p0[1]);
13 3914542 double q0_1_p0_1 = (q0[1] - p0[1]);
14 3914542 double p1_2_p0_2 = (p1[2] - p0[2]);
15 3914542 double q0_2_p0_2 = (q0[2] - p0[2]);
16 3914542 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 3914542 double max1 = fabs(p0_0_p1_0);
20
2/2
✓ Branch 0 taken 1656766 times.
✓ Branch 1 taken 2257776 times.
3914542 if( (max1 < fabs(p0_1_p1_1)) )
21 {
22 1656766 max1 = fabs(p0_1_p1_1);
23 }
24
2/2
✓ Branch 0 taken 1036005 times.
✓ Branch 1 taken 2878537 times.
3914542 if( (max1 < fabs(p0_2_p1_2)) )
25 {
26 1036005 max1 = fabs(p0_2_p1_2);
27 }
28
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914542 times.
3914542 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 3914542 times.
3914542 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 3914542 times.
3914542 if( (max1 < fabs(p1_2_p0_2)) )
37 {
38 max1 = fabs(p1_2_p0_2);
39 }
40 3914542 double max2 = fabs(p0_0_p1_0);
41
2/2
✓ Branch 0 taken 1656766 times.
✓ Branch 1 taken 2257776 times.
3914542 if( (max2 < fabs(p0_1_p1_1)) )
42 {
43 1656766 max2 = fabs(p0_1_p1_1);
44 }
45
2/2
✓ Branch 0 taken 1036005 times.
✓ Branch 1 taken 2878537 times.
3914542 if( (max2 < fabs(p0_2_p1_2)) )
46 {
47 1036005 max2 = fabs(p0_2_p1_2);
48 }
49
2/2
✓ Branch 0 taken 401206 times.
✓ Branch 1 taken 3513336 times.
3914542 if( (max2 < fabs(q0_0_p0_0)) )
50 {
51 401206 max2 = fabs(q0_0_p0_0);
52 }
53
2/2
✓ Branch 0 taken 468533 times.
✓ Branch 1 taken 3446009 times.
3914542 if( (max2 < fabs(q0_1_p0_1)) )
54 {
55 468533 max2 = fabs(q0_1_p0_1);
56 }
57
2/2
✓ Branch 0 taken 330334 times.
✓ Branch 1 taken 3584208 times.
3914542 if( (max2 < fabs(q0_2_p0_2)) )
58 {
59 330334 max2 = fabs(q0_2_p0_2);
60 }
61 double lower_bound_1;
62 double upper_bound_1;
63 3914542 lower_bound_1 = max1;
64 3914542 upper_bound_1 = max1;
65
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914542 times.
3914542 if( (max2 < lower_bound_1) )
66 {
67 lower_bound_1 = max2;
68 }
69 else
70 {
71
2/2
✓ Branch 0 taken 1094020 times.
✓ Branch 1 taken 2820522 times.
3914542 if( (max2 > upper_bound_1) )
72 {
73 1094020 upper_bound_1 = max2;
74 }
75 }
76
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3914542 times.
3914542 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 3914542 times.
3914542 if( (upper_bound_1 > 5.59936185544450928309e+101) )
83 {
84 return FPG_UNCERTAIN_VALUE;
85 }
86 3914542 eps = (4.44425370757048798480e-15 * (max1 * max2));
87
2/2
✓ Branch 0 taken 3149703 times.
✓ Branch 1 taken 764839 times.
3914542 if( (r > eps) )
88 {
89 3149703 int_tmp_result = 1;
90 }
91 else
92 {
93
2/2
✓ Branch 0 taken 557809 times.
✓ Branch 1 taken 207030 times.
764839 if( (r < -eps) )
94 {
95 557809 int_tmp_result = -1;
96 }
97 else
98 {
99 207030 return FPG_UNCERTAIN_VALUE;
100 }
101 }
102 }
103 3707512 return int_tmp_result;
104 }
105
106
107 50792 inline int side1_4d_filter( const double* p0, const double* p1, const double* q0) {
108 50792 double p0_0_p1_0 = (p0[0] - p1[0]);
109 50792 double p0_1_p1_1 = (p0[1] - p1[1]);
110 50792 double p0_2_p1_2 = (p0[2] - p1[2]);
111 50792 double p0_3_p1_3 = (p0[3] - p1[3]);
112 double r;
113 50792 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 50792 double p1_0_p0_0 = (p1[0] - p0[0]);
115 50792 double q0_0_p0_0 = (q0[0] - p0[0]);
116 50792 double p1_1_p0_1 = (p1[1] - p0[1]);
117 50792 double q0_1_p0_1 = (q0[1] - p0[1]);
118 50792 double p1_2_p0_2 = (p1[2] - p0[2]);
119 50792 double q0_2_p0_2 = (q0[2] - p0[2]);
120 50792 double p1_3_p0_3 = (p1[3] - p0[3]);
121 50792 double q0_3_p0_3 = (q0[3] - p0[3]);
122 50792 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 50792 double max1 = fabs(p1_0_p0_0);
126
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 50792 times.
50792 if( (max1 < fabs(p0_0_p1_0)) )
127 {
128 max1 = fabs(p0_0_p1_0);
129 }
130
2/2
✓ Branch 0 taken 34801 times.
✓ Branch 1 taken 15991 times.
50792 if( (max1 < fabs(p0_1_p1_1)) )
131 {
132 34801 max1 = fabs(p0_1_p1_1);
133 }
134
2/2
✓ Branch 0 taken 20925 times.
✓ Branch 1 taken 29867 times.
50792 if( (max1 < fabs(p0_2_p1_2)) )
135 {
136 20925 max1 = fabs(p0_2_p1_2);
137 }
138
2/2
✓ Branch 0 taken 15281 times.
✓ Branch 1 taken 35511 times.
50792 if( (max1 < fabs(p0_3_p1_3)) )
139 {
140 15281 max1 = fabs(p0_3_p1_3);
141 }
142
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 50792 times.
50792 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 50792 times.
50792 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 50792 times.
50792 if( (max1 < fabs(p1_3_p0_3)) )
151 {
152 max1 = fabs(p1_3_p0_3);
153 }
154 50792 double max2 = fabs(p0_0_p1_0);
155
2/2
✓ Branch 0 taken 34801 times.
✓ Branch 1 taken 15991 times.
50792 if( (max2 < fabs(p0_1_p1_1)) )
156 {
157 34801 max2 = fabs(p0_1_p1_1);
158 }
159
2/2
✓ Branch 0 taken 20925 times.
✓ Branch 1 taken 29867 times.
50792 if( (max2 < fabs(p0_2_p1_2)) )
160 {
161 20925 max2 = fabs(p0_2_p1_2);
162 }
163
2/2
✓ Branch 0 taken 15281 times.
✓ Branch 1 taken 35511 times.
50792 if( (max2 < fabs(p0_3_p1_3)) )
164 {
165 15281 max2 = fabs(p0_3_p1_3);
166 }
167
2/2
✓ Branch 0 taken 9193 times.
✓ Branch 1 taken 41599 times.
50792 if( (max2 < fabs(q0_0_p0_0)) )
168 {
169 9193 max2 = fabs(q0_0_p0_0);
170 }
171
2/2
✓ Branch 0 taken 8347 times.
✓ Branch 1 taken 42445 times.
50792 if( (max2 < fabs(q0_1_p0_1)) )
172 {
173 8347 max2 = fabs(q0_1_p0_1);
174 }
175
2/2
✓ Branch 0 taken 6877 times.
✓ Branch 1 taken 43915 times.
50792 if( (max2 < fabs(q0_2_p0_2)) )
176 {
177 6877 max2 = fabs(q0_2_p0_2);
178 }
179
2/2
✓ Branch 0 taken 22747 times.
✓ Branch 1 taken 28045 times.
50792 if( (max2 < fabs(q0_3_p0_3)) )
180 {
181 22747 max2 = fabs(q0_3_p0_3);
182 }
183 double lower_bound_1;
184 double upper_bound_1;
185 50792 lower_bound_1 = max2;
186 50792 upper_bound_1 = max2;
187
2/2
✓ Branch 0 taken 29081 times.
✓ Branch 1 taken 21711 times.
50792 if( (max1 < lower_bound_1) )
188 {
189 29081 lower_bound_1 = max1;
190 }
191 else
192 {
193
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 21711 times.
21711 if( (max1 > upper_bound_1) )
194 {
195 upper_bound_1 = max1;
196 }
197 }
198
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 50792 times.
50792 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 50792 times.
50792 if( (upper_bound_1 > 5.59936185544450928309e+101) )
205 {
206 return FPG_UNCERTAIN_VALUE;
207 }
208 50792 eps = (6.44428177279185717888e-15 * (max1 * max2));
209
2/2
✓ Branch 0 taken 35172 times.
✓ Branch 1 taken 15620 times.
50792 if( (r > eps) )
210 {
211 35172 int_tmp_result = 1;
212 }
213 else
214 {
215
1/2
✓ Branch 0 taken 15620 times.
✗ Branch 1 not taken.
15620 if( (r < -eps) )
216 {
217 15620 int_tmp_result = -1;
218 }
219 else
220 {
221 return FPG_UNCERTAIN_VALUE;
222 }
223 }
224 }
225 50792 return int_tmp_result;
226 }
227
228
229 59448 inline int side1_6d_filter( const double* p0, const double* p1, const double* q0) {
230 59448 double p0_0_p1_0 = (p0[0] - p1[0]);
231 59448 double p0_1_p1_1 = (p0[1] - p1[1]);
232 59448 double p0_2_p1_2 = (p0[2] - p1[2]);
233 59448 double p0_3_p1_3 = (p0[3] - p1[3]);
234 59448 double p0_4_p1_4 = (p0[4] - p1[4]);
235 59448 double p0_5_p1_5 = (p0[5] - p1[5]);
236 double r;
237 59448 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 59448 double p1_0_p0_0 = (p1[0] - p0[0]);
239 59448 double q0_0_p0_0 = (q0[0] - p0[0]);
240 59448 double p1_1_p0_1 = (p1[1] - p0[1]);
241 59448 double q0_1_p0_1 = (q0[1] - p0[1]);
242 59448 double p1_2_p0_2 = (p1[2] - p0[2]);
243 59448 double q0_2_p0_2 = (q0[2] - p0[2]);
244 59448 double p1_3_p0_3 = (p1[3] - p0[3]);
245 59448 double q0_3_p0_3 = (q0[3] - p0[3]);
246 59448 double p1_4_p0_4 = (p1[4] - p0[4]);
247 59448 double q0_4_p0_4 = (q0[4] - p0[4]);
248 59448 double p1_5_p0_5 = (p1[5] - p0[5]);
249 59448 double q0_5_p0_5 = (q0[5] - p0[5]);
250 59448 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 59448 double max1 = fabs(p0_0_p1_0);
254
2/2
✓ Branch 0 taken 46077 times.
✓ Branch 1 taken 13371 times.
59448 if( (max1 < fabs(p0_1_p1_1)) )
255 {
256 46077 max1 = fabs(p0_1_p1_1);
257 }
258
2/2
✓ Branch 0 taken 27261 times.
✓ Branch 1 taken 32187 times.
59448 if( (max1 < fabs(p0_2_p1_2)) )
259 {
260 27261 max1 = fabs(p0_2_p1_2);
261 }
262
2/2
✓ Branch 0 taken 11586 times.
✓ Branch 1 taken 47862 times.
59448 if( (max1 < fabs(p0_3_p1_3)) )
263 {
264 11586 max1 = fabs(p0_3_p1_3);
265 }
266
2/2
✓ Branch 0 taken 11501 times.
✓ Branch 1 taken 47947 times.
59448 if( (max1 < fabs(p0_4_p1_4)) )
267 {
268 11501 max1 = fabs(p0_4_p1_4);
269 }
270
2/2
✓ Branch 0 taken 2456 times.
✓ Branch 1 taken 56992 times.
59448 if( (max1 < fabs(p0_5_p1_5)) )
271 {
272 2456 max1 = fabs(p0_5_p1_5);
273 }
274
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 59448 times.
59448 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 59448 times.
59448 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 59448 times.
59448 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 59448 times.
59448 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 59448 times.
59448 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 59448 times.
59448 if( (max1 < fabs(p1_5_p0_5)) )
295 {
296 max1 = fabs(p1_5_p0_5);
297 }
298 59448 double max2 = fabs(p0_0_p1_0);
299
2/2
✓ Branch 0 taken 46077 times.
✓ Branch 1 taken 13371 times.
59448 if( (max2 < fabs(p0_1_p1_1)) )
300 {
301 46077 max2 = fabs(p0_1_p1_1);
302 }
303
2/2
✓ Branch 0 taken 27261 times.
✓ Branch 1 taken 32187 times.
59448 if( (max2 < fabs(p0_2_p1_2)) )
304 {
305 27261 max2 = fabs(p0_2_p1_2);
306 }
307
2/2
✓ Branch 0 taken 11586 times.
✓ Branch 1 taken 47862 times.
59448 if( (max2 < fabs(p0_3_p1_3)) )
308 {
309 11586 max2 = fabs(p0_3_p1_3);
310 }
311
2/2
✓ Branch 0 taken 11501 times.
✓ Branch 1 taken 47947 times.
59448 if( (max2 < fabs(p0_4_p1_4)) )
312 {
313 11501 max2 = fabs(p0_4_p1_4);
314 }
315
2/2
✓ Branch 0 taken 2456 times.
✓ Branch 1 taken 56992 times.
59448 if( (max2 < fabs(p0_5_p1_5)) )
316 {
317 2456 max2 = fabs(p0_5_p1_5);
318 }
319
2/2
✓ Branch 0 taken 7659 times.
✓ Branch 1 taken 51789 times.
59448 if( (max2 < fabs(q0_0_p0_0)) )
320 {
321 7659 max2 = fabs(q0_0_p0_0);
322 }
323
2/2
✓ Branch 0 taken 7140 times.
✓ Branch 1 taken 52308 times.
59448 if( (max2 < fabs(q0_1_p0_1)) )
324 {
325 7140 max2 = fabs(q0_1_p0_1);
326 }
327
2/2
✓ Branch 0 taken 6734 times.
✓ Branch 1 taken 52714 times.
59448 if( (max2 < fabs(q0_2_p0_2)) )
328 {
329 6734 max2 = fabs(q0_2_p0_2);
330 }
331
2/2
✓ Branch 0 taken 27546 times.
✓ Branch 1 taken 31902 times.
59448 if( (max2 < fabs(q0_3_p0_3)) )
332 {
333 27546 max2 = fabs(q0_3_p0_3);
334 }
335
2/2
✓ Branch 0 taken 30438 times.
✓ Branch 1 taken 29010 times.
59448 if( (max2 < fabs(q0_4_p0_4)) )
336 {
337 30438 max2 = fabs(q0_4_p0_4);
338 }
339
2/2
✓ Branch 0 taken 6828 times.
✓ Branch 1 taken 52620 times.
59448 if( (max2 < fabs(q0_5_p0_5)) )
340 {
341 6828 max2 = fabs(q0_5_p0_5);
342 }
343 double lower_bound_1;
344 double upper_bound_1;
345 59448 lower_bound_1 = max1;
346 59448 upper_bound_1 = max1;
347
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 59448 times.
59448 if( (max2 < lower_bound_1) )
348 {
349 lower_bound_1 = max2;
350 }
351 else
352 {
353
2/2
✓ Branch 0 taken 39561 times.
✓ Branch 1 taken 19887 times.
59448 if( (max2 > upper_bound_1) )
354 {
355 39561 upper_bound_1 = max2;
356 }
357 }
358
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 59448 times.
59448 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 59448 times.
59448 if( (upper_bound_1 > 5.59936185544450928309e+101) )
365 {
366 return FPG_UNCERTAIN_VALUE;
367 }
368 59448 eps = (1.11111223981318615596e-14 * (max1 * max2));
369
2/2
✓ Branch 0 taken 38092 times.
✓ Branch 1 taken 21356 times.
59448 if( (r > eps) )
370 {
371 38092 int_tmp_result = 1;
372 }
373 else
374 {
375
1/2
✓ Branch 0 taken 21356 times.
✗ Branch 1 not taken.
21356 if( (r < -eps) )
376 {
377 21356 int_tmp_result = -1;
378 }
379 else
380 {
381 return FPG_UNCERTAIN_VALUE;
382 }
383 }
384 }
385 59448 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 57825 inline int side1_8d_filter( const double* p0, const double* p1, const double* q0) {
569 57825 double p0_0_p1_0 = (p0[0] - p1[0]);
570 57825 double p0_1_p1_1 = (p0[1] - p1[1]);
571 57825 double p0_2_p1_2 = (p0[2] - p1[2]);
572 57825 double p0_3_p1_3 = (p0[3] - p1[3]);
573 57825 double p0_4_p1_4 = (p0[4] - p1[4]);
574 57825 double p0_5_p1_5 = (p0[5] - p1[5]);
575 57825 double p0_6_p1_6 = (p0[6] - p1[6]);
576 57825 double p0_7_p1_7 = (p0[7] - p1[7]);
577 double r;
578 57825 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 57825 double p1_0_p0_0 = (p1[0] - p0[0]);
580 57825 double q0_0_p0_0 = (q0[0] - p0[0]);
581 57825 double p1_1_p0_1 = (p1[1] - p0[1]);
582 57825 double q0_1_p0_1 = (q0[1] - p0[1]);
583 57825 double p1_2_p0_2 = (p1[2] - p0[2]);
584 57825 double q0_2_p0_2 = (q0[2] - p0[2]);
585 57825 double p1_3_p0_3 = (p1[3] - p0[3]);
586 57825 double q0_3_p0_3 = (q0[3] - p0[3]);
587 57825 double p1_4_p0_4 = (p1[4] - p0[4]);
588 57825 double q0_4_p0_4 = (q0[4] - p0[4]);
589 57825 double p1_5_p0_5 = (p1[5] - p0[5]);
590 57825 double q0_5_p0_5 = (q0[5] - p0[5]);
591 57825 double p1_6_p0_6 = (p1[6] - p0[6]);
592 57825 double q0_6_p0_6 = (q0[6] - p0[6]);
593 57825 double p1_7_p0_7 = (p1[7] - p0[7]);
594 57825 double q0_7_p0_7 = (q0[7] - p0[7]);
595 57825 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 57825 double max1 = fabs(p0_1_p1_1);
599
2/2
✓ Branch 0 taken 32548 times.
✓ Branch 1 taken 25277 times.
57825 if( (max1 < fabs(p0_2_p1_2)) )
600 {
601 32548 max1 = fabs(p0_2_p1_2);
602 }
603
2/2
✓ Branch 0 taken 5619 times.
✓ Branch 1 taken 52206 times.
57825 if( (max1 < fabs(p1_0_p0_0)) )
604 {
605 5619 max1 = fabs(p1_0_p0_0);
606 }
607
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 57825 times.
57825 if( (max1 < fabs(p0_0_p1_0)) )
608 {
609 max1 = fabs(p0_0_p1_0);
610 }
611
2/2
✓ Branch 0 taken 10938 times.
✓ Branch 1 taken 46887 times.
57825 if( (max1 < fabs(p0_3_p1_3)) )
612 {
613 10938 max1 = fabs(p0_3_p1_3);
614 }
615
2/2
✓ Branch 0 taken 10925 times.
✓ Branch 1 taken 46900 times.
57825 if( (max1 < fabs(p0_4_p1_4)) )
616 {
617 10925 max1 = fabs(p0_4_p1_4);
618 }
619
2/2
✓ Branch 0 taken 2368 times.
✓ Branch 1 taken 55457 times.
57825 if( (max1 < fabs(p0_5_p1_5)) )
620 {
621 2368 max1 = fabs(p0_5_p1_5);
622 }
623
2/2
✓ Branch 0 taken 5446 times.
✓ Branch 1 taken 52379 times.
57825 if( (max1 < fabs(p0_6_p1_6)) )
624 {
625 5446 max1 = fabs(p0_6_p1_6);
626 }
627
2/2
✓ Branch 0 taken 3496 times.
✓ Branch 1 taken 54329 times.
57825 if( (max1 < fabs(p0_7_p1_7)) )
628 {
629 3496 max1 = fabs(p0_7_p1_7);
630 }
631
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 57825 times.
57825 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 57825 times.
57825 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 57825 times.
57825 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 57825 times.
57825 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 57825 times.
57825 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 57825 times.
57825 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 57825 times.
57825 if( (max1 < fabs(p1_7_p0_7)) )
656 {
657 max1 = fabs(p1_7_p0_7);
658 }
659 57825 double max2 = fabs(p0_1_p1_1);
660
2/2
✓ Branch 0 taken 32548 times.
✓ Branch 1 taken 25277 times.
57825 if( (max2 < fabs(p0_2_p1_2)) )
661 {
662 32548 max2 = fabs(p0_2_p1_2);
663 }
664
2/2
✓ Branch 0 taken 5619 times.
✓ Branch 1 taken 52206 times.
57825 if( (max2 < fabs(p0_0_p1_0)) )
665 {
666 5619 max2 = fabs(p0_0_p1_0);
667 }
668
2/2
✓ Branch 0 taken 10938 times.
✓ Branch 1 taken 46887 times.
57825 if( (max2 < fabs(p0_3_p1_3)) )
669 {
670 10938 max2 = fabs(p0_3_p1_3);
671 }
672
2/2
✓ Branch 0 taken 10925 times.
✓ Branch 1 taken 46900 times.
57825 if( (max2 < fabs(p0_4_p1_4)) )
673 {
674 10925 max2 = fabs(p0_4_p1_4);
675 }
676
2/2
✓ Branch 0 taken 2368 times.
✓ Branch 1 taken 55457 times.
57825 if( (max2 < fabs(p0_5_p1_5)) )
677 {
678 2368 max2 = fabs(p0_5_p1_5);
679 }
680
2/2
✓ Branch 0 taken 5446 times.
✓ Branch 1 taken 52379 times.
57825 if( (max2 < fabs(p0_6_p1_6)) )
681 {
682 5446 max2 = fabs(p0_6_p1_6);
683 }
684
2/2
✓ Branch 0 taken 3496 times.
✓ Branch 1 taken 54329 times.
57825 if( (max2 < fabs(p0_7_p1_7)) )
685 {
686 3496 max2 = fabs(p0_7_p1_7);
687 }
688
2/2
✓ Branch 0 taken 6221 times.
✓ Branch 1 taken 51604 times.
57825 if( (max2 < fabs(q0_0_p0_0)) )
689 {
690 6221 max2 = fabs(q0_0_p0_0);
691 }
692
2/2
✓ Branch 0 taken 7864 times.
✓ Branch 1 taken 49961 times.
57825 if( (max2 < fabs(q0_1_p0_1)) )
693 {
694 7864 max2 = fabs(q0_1_p0_1);
695 }
696
2/2
✓ Branch 0 taken 7013 times.
✓ Branch 1 taken 50812 times.
57825 if( (max2 < fabs(q0_2_p0_2)) )
697 {
698 7013 max2 = fabs(q0_2_p0_2);
699 }
700
2/2
✓ Branch 0 taken 26556 times.
✓ Branch 1 taken 31269 times.
57825 if( (max2 < fabs(q0_3_p0_3)) )
701 {
702 26556 max2 = fabs(q0_3_p0_3);
703 }
704
2/2
✓ Branch 0 taken 29870 times.
✓ Branch 1 taken 27955 times.
57825 if( (max2 < fabs(q0_4_p0_4)) )
705 {
706 29870 max2 = fabs(q0_4_p0_4);
707 }
708
2/2
✓ Branch 0 taken 6445 times.
✓ Branch 1 taken 51380 times.
57825 if( (max2 < fabs(q0_5_p0_5)) )
709 {
710 6445 max2 = fabs(q0_5_p0_5);
711 }
712
2/2
✓ Branch 0 taken 8589 times.
✓ Branch 1 taken 49236 times.
57825 if( (max2 < fabs(q0_6_p0_6)) )
713 {
714 8589 max2 = fabs(q0_6_p0_6);
715 }
716
2/2
✓ Branch 0 taken 8306 times.
✓ Branch 1 taken 49519 times.
57825 if( (max2 < fabs(q0_7_p0_7)) )
717 {
718 8306 max2 = fabs(q0_7_p0_7);
719 }
720 double lower_bound_1;
721 double upper_bound_1;
722 57825 lower_bound_1 = max1;
723 57825 upper_bound_1 = max1;
724
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 57825 times.
57825 if( (max2 < lower_bound_1) )
725 {
726 lower_bound_1 = max2;
727 }
728 else
729 {
730
2/2
✓ Branch 0 taken 39933 times.
✓ Branch 1 taken 17892 times.
57825 if( (max2 > upper_bound_1) )
731 {
732 39933 upper_bound_1 = max2;
733 }
734 }
735
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 57825 times.
57825 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 57825 times.
57825 if( (upper_bound_1 > 5.59936185544450928309e+101) )
742 {
743 return FPG_UNCERTAIN_VALUE;
744 }
745 57825 eps = (1.66670090166682227006e-14 * (max1 * max2));
746
2/2
✓ Branch 0 taken 35197 times.
✓ Branch 1 taken 22628 times.
57825 if( (r > eps) )
747 {
748 35197 int_tmp_result = 1;
749 }
750 else
751 {
752
1/2
✓ Branch 0 taken 22628 times.
✗ Branch 1 not taken.
22628 if( (r < -eps) )
753 {
754 22628 int_tmp_result = -1;
755 }
756 else
757 {
758 return FPG_UNCERTAIN_VALUE;
759 }
760 }
761 }
762 57825 return int_tmp_result;
763 }
764