4inline int det_compare_4d_filter(
const double* p0,
const double* p1,
const double* p2,
const double* p3,
const double* p4) {
6 a3_0 = (p4[0] - p3[0]);
8 a3_1 = (p4[1] - p3[1]);
10 a3_2 = (p4[2] - p3[2]);
12 a3_3 = (p4[3] - p3[3]);
14 m12 = ((p1[0] * p0[1]) - (p0[0] * p1[1]));
16 m13 = ((p2[0] * p0[1]) - (p0[0] * p2[1]));
18 m14 = ((a3_0 * p0[1]) - (p0[0] * a3_1));
20 m23 = ((p2[0] * p1[1]) - (p1[0] * p2[1]));
22 m24 = ((a3_0 * p1[1]) - (p1[0] * a3_1));
24 m34 = ((a3_0 * p2[1]) - (p2[0] * a3_1));
26 m123 = (((m23 * p0[2]) - (m13 * p1[2])) + (m12 * p2[2]));
28 m124 = (((m24 * p0[2]) - (m14 * p1[2])) + (m12 * a3_2));
30 m134 = (((m34 * p0[2]) - (m14 * p2[2])) + (m13 * a3_2));
32 m234 = (((m34 * p1[2]) - (m24 * p2[2])) + (m23 * a3_2));
34 Delta = ((((m234 * p0[3]) - (m134 * p1[3])) + (m124 * p2[3])) - (m123 * a3_3));
37 double max1 = fabs(p0[0]);
38 if( (max1 < fabs(p1[0])) )
42 if( (max1 < fabs(p2[0])) )
46 if( (max1 < fabs(a3_0)) )
50 double max2 = fabs(p0[1]);
51 if( (max2 < fabs(p1[1])) )
55 if( (max2 < fabs(p2[1])) )
59 if( (max2 < fabs(a3_1)) )
63 double max3 = fabs(p0[2]);
64 if( (max3 < fabs(p1[2])) )
68 if( (max3 < fabs(p2[2])) )
72 if( (max3 < fabs(a3_2)) )
76 double max4 = fabs(p0[3]);
77 if( (max4 < fabs(p1[3])) )
81 if( (max4 < fabs(p2[3])) )
85 if( (max4 < fabs(a3_3)) )
93 if( (max2 < lower_bound_1) )
99 if( (max2 > upper_bound_1) )
101 upper_bound_1 = max2;
104 if( (max3 < lower_bound_1) )
106 lower_bound_1 = max3;
110 if( (max3 > upper_bound_1) )
112 upper_bound_1 = max3;
115 if( (max4 < lower_bound_1) )
117 lower_bound_1 = max4;
121 if( (max4 > upper_bound_1) )
123 upper_bound_1 = max4;
126 if( (lower_bound_1 < 3.11018333467425326847e-74) )
128 return FPG_UNCERTAIN_VALUE;
132 if( (upper_bound_1 > 1.44740111546645196071e+76) )
134 return FPG_UNCERTAIN_VALUE;
136 eps = (2.37793769622390420735e-14 * (((max1 * max2) * max3) * max4));
149 return FPG_UNCERTAIN_VALUE;
153 return int_tmp_result;