4inline int orienth_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 a02 = (p1[2] - p0[2]);
14 a10 = (p2[0] - p0[0]);
16 a11 = (p2[1] - p0[1]);
18 a12 = (p2[2] - p0[2]);
22 a20 = (p3[0] - p0[0]);
24 a21 = (p3[1] - p0[1]);
26 a22 = (p3[2] - p0[2]);
30 a30 = (p4[0] - p0[0]);
32 a31 = (p4[1] - p0[1]);
34 a32 = (p4[2] - p0[2]);
38 m12 = ((a10 * a01) - (a00 * a11));
40 m13 = ((a20 * a01) - (a00 * a21));
42 m14 = ((a30 * a01) - (a00 * a31));
44 m23 = ((a20 * a11) - (a10 * a21));
46 m24 = ((a30 * a11) - (a10 * a31));
48 m34 = ((a30 * a21) - (a20 * a31));
50 m123 = (((m23 * a02) - (m13 * a12)) + (m12 * a22));
52 m124 = (((m24 * a02) - (m14 * a12)) + (m12 * a32));
54 m134 = (((m34 * a02) - (m14 * a22)) + (m13 * a32));
56 m234 = (((m34 * a12) - (m24 * a22)) + (m23 * a32));
58 Delta = ((((m234 * a03) - (m134 * a13)) + (m124 * a23)) - (m123 * a33));
61 double max1 = fabs(a00);
62 if( (max1 < fabs(a10)) )
66 if( (max1 < fabs(a20)) )
70 if( (max1 < fabs(a30)) )
74 double max2 = fabs(a01);
75 if( (max2 < fabs(a11)) )
79 if( (max2 < fabs(a21)) )
83 if( (max2 < fabs(a31)) )
87 double max3 = fabs(a02);
88 if( (max3 < fabs(a12)) )
92 if( (max3 < fabs(a22)) )
96 if( (max3 < fabs(a32)) )
100 double max4 = fabs(a03);
101 if( (max4 < fabs(a13)) )
105 if( (max4 < fabs(a23)) )
109 if( (max4 < fabs(a33)) )
113 double lower_bound_1;
114 double upper_bound_1;
115 lower_bound_1 = max1;
116 upper_bound_1 = max1;
117 if( (max2 < lower_bound_1) )
119 lower_bound_1 = max2;
123 if( (max2 > upper_bound_1) )
125 upper_bound_1 = max2;
128 if( (max3 < lower_bound_1) )
130 lower_bound_1 = max3;
134 if( (max3 > upper_bound_1) )
136 upper_bound_1 = max3;
139 if( (max4 < lower_bound_1) )
141 lower_bound_1 = max4;
145 if( (max4 > upper_bound_1) )
147 upper_bound_1 = max4;
150 if( (lower_bound_1 < 2.89273249588395233567e-74) )
152 return FPG_UNCERTAIN_VALUE;
156 if( (upper_bound_1 > 7.23700557733225900010e+75) )
158 return FPG_UNCERTAIN_VALUE;
160 eps = (3.17768858673611390687e-14 * (((max1 * max2) * max3) * max4));
173 return FPG_UNCERTAIN_VALUE;
177 return int_tmp_result;