4inline int side4h_3d_filter(
const double* p0,
const double* p1,
const double* p2,
const double* p3,
const double* p4,
double h0,
double h1,
double h2,
double h3,
double h4) {
10 a13 = (p1[2] - p0[2]);
14 a21 = (p2[0] - p0[0]);
16 a22 = (p2[1] - p0[1]);
18 a23 = (p2[2] - p0[2]);
22 a31 = (p3[0] - p0[0]);
24 a32 = (p3[1] - p0[1]);
26 a33 = (p3[2] - p0[2]);
30 a41 = (p4[0] - p0[0]);
32 a42 = (p4[1] - p0[1]);
34 a43 = (p4[2] - p0[2]);
38 Delta1 = (((a21 * ((a32 * a43) - (a33 * a42))) - (a31 * ((a22 * a43) - (a23 * a42)))) + (a41 * ((a22 * a33) - (a23 * a32))));
40 Delta2 = (((a11 * ((a32 * a43) - (a33 * a42))) - (a31 * ((a12 * a43) - (a13 * a42)))) + (a41 * ((a12 * a33) - (a13 * a32))));
42 Delta3 = (((a11 * ((a22 * a43) - (a23 * a42))) - (a21 * ((a12 * a43) - (a13 * a42)))) + (a41 * ((a12 * a23) - (a13 * a22))));
44 Delta4 = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22))));
46 r = ((((Delta1 * a14) - (Delta2 * a24)) + (Delta3 * a34)) - (Delta4 * a44));
48 double max1 = fabs(a11);
49 if( (max1 < fabs(a21)) )
53 if( (max1 < fabs(a31)) )
57 double max2 = fabs(a12);
58 if( (max2 < fabs(a13)) )
62 if( (max2 < fabs(a22)) )
66 if( (max2 < fabs(a23)) )
70 double max3 = fabs(a22);
71 if( (max3 < fabs(a23)) )
75 if( (max3 < fabs(a32)) )
79 if( (max3 < fabs(a33)) )
89 if( (max2 < lower_bound_1) )
95 if( (max2 > upper_bound_1) )
100 if( (max3 < lower_bound_1) )
102 lower_bound_1 = max3;
106 if( (max3 > upper_bound_1) )
108 upper_bound_1 = max3;
111 if( (lower_bound_1 < 1.63288018496748314939e-98) )
113 return FPG_UNCERTAIN_VALUE;
117 if( (upper_bound_1 > 7.23700557733225980357e+75) )
119 return FPG_UNCERTAIN_VALUE;
121 eps = (5.11071278299732992696e-15 * ((max2 * max3) * max1));
128 if( (Delta4 < -eps) )
134 return FPG_UNCERTAIN_VALUE;
138 Delta4_sign = int_tmp_result;
139 int int_tmp_result_FFWKCAA;
141 if( (max4 < fabs(a41)) )
150 double max6 = fabs(a14);
151 if( (max6 < fabs(a24)) )
155 if( (max6 < fabs(a34)) )
159 if( (max6 < fabs(a44)) )
164 if( (max7 < fabs(a42)) )
168 if( (max7 < fabs(a43)) )
172 lower_bound_1 = max4;
173 upper_bound_1 = max4;
174 if( (max5 < lower_bound_1) )
176 lower_bound_1 = max5;
180 if( (max5 > upper_bound_1) )
182 upper_bound_1 = max5;
185 if( (max6 < lower_bound_1) )
187 lower_bound_1 = max6;
191 if( (max6 > upper_bound_1) )
193 upper_bound_1 = max6;
196 if( (max7 < lower_bound_1) )
198 lower_bound_1 = max7;
202 if( (max7 > upper_bound_1) )
204 upper_bound_1 = max7;
207 if( (lower_bound_1 < 2.89273249588395194294e-74) )
209 return FPG_UNCERTAIN_VALUE;
213 if( (upper_bound_1 > 7.23700557733225980357e+75) )
215 return FPG_UNCERTAIN_VALUE;
217 eps = (3.17768858673611390687e-14 * (((max5 * max7) * max4) * max6));
220 int_tmp_result_FFWKCAA = 1;
226 int_tmp_result_FFWKCAA = -1;
230 return FPG_UNCERTAIN_VALUE;
234 return (Delta4_sign * int_tmp_result_FFWKCAA);