| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | /* Automatically generated code, do not edit */ | ||
| 2 | /* Generated from source file: orient3d.pck */ | ||
| 3 | |||
| 4 | 19289947 | inline int orient_3d_filter(const double* p0, const double* p1, const double* p2, const double* p3) { | |
| 5 | double a11; | ||
| 6 | 19289947 | a11 = (p1[0] - p0[0]); | |
| 7 | double a12; | ||
| 8 | 19289947 | a12 = (p1[1] - p0[1]); | |
| 9 | double a13; | ||
| 10 | 19289947 | a13 = (p1[2] - p0[2]); | |
| 11 | double a21; | ||
| 12 | 19289947 | a21 = (p2[0] - p0[0]); | |
| 13 | double a22; | ||
| 14 | 19289947 | a22 = (p2[1] - p0[1]); | |
| 15 | double a23; | ||
| 16 | 19289947 | a23 = (p2[2] - p0[2]); | |
| 17 | double a31; | ||
| 18 | 19289947 | a31 = (p3[0] - p0[0]); | |
| 19 | double a32; | ||
| 20 | 19289947 | a32 = (p3[1] - p0[1]); | |
| 21 | double a33; | ||
| 22 | 19289947 | a33 = (p3[2] - p0[2]); | |
| 23 | double Delta; | ||
| 24 | 19289947 | Delta = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22)))); | |
| 25 | int int_tmp_result; | ||
| 26 | double eps; | ||
| 27 | 19289947 | double max1 = fabs(a11); | |
| 28 |
2/2✓ Branch 0 taken 6464866 times.
✓ Branch 1 taken 12825081 times.
|
19289947 | if((max1 < fabs(a21))) |
| 29 | { | ||
| 30 | 6464866 | max1 = fabs(a21); | |
| 31 | } | ||
| 32 |
2/2✓ Branch 0 taken 5208176 times.
✓ Branch 1 taken 14081771 times.
|
19289947 | if((max1 < fabs(a31))) |
| 33 | { | ||
| 34 | 5208176 | max1 = fabs(a31); | |
| 35 | } | ||
| 36 | 19289947 | double max2 = fabs(a12); | |
| 37 |
2/2✓ Branch 0 taken 7865644 times.
✓ Branch 1 taken 11424303 times.
|
19289947 | if((max2 < fabs(a13))) |
| 38 | { | ||
| 39 | 7865644 | max2 = fabs(a13); | |
| 40 | } | ||
| 41 |
2/2✓ Branch 0 taken 4267561 times.
✓ Branch 1 taken 15022386 times.
|
19289947 | if((max2 < fabs(a22))) |
| 42 | { | ||
| 43 | 4267561 | max2 = fabs(a22); | |
| 44 | } | ||
| 45 |
2/2✓ Branch 0 taken 2608190 times.
✓ Branch 1 taken 16681757 times.
|
19289947 | if((max2 < fabs(a23))) |
| 46 | { | ||
| 47 | 2608190 | max2 = fabs(a23); | |
| 48 | } | ||
| 49 | 19289947 | double max3 = fabs(a22); | |
| 50 |
2/2✓ Branch 0 taken 7679683 times.
✓ Branch 1 taken 11610264 times.
|
19289947 | if((max3 < fabs(a23))) |
| 51 | { | ||
| 52 | 7679683 | max3 = fabs(a23); | |
| 53 | } | ||
| 54 |
2/2✓ Branch 0 taken 6082570 times.
✓ Branch 1 taken 13207377 times.
|
19289947 | if((max3 < fabs(a32))) |
| 55 | { | ||
| 56 | 6082570 | max3 = fabs(a32); | |
| 57 | } | ||
| 58 |
2/2✓ Branch 0 taken 3620385 times.
✓ Branch 1 taken 15669562 times.
|
19289947 | if((max3 < fabs(a33))) |
| 59 | { | ||
| 60 | 3620385 | max3 = fabs(a33); | |
| 61 | } | ||
| 62 | double lower_bound_1; | ||
| 63 | double upper_bound_1; | ||
| 64 | 19289947 | lower_bound_1 = max1; | |
| 65 | 19289947 | upper_bound_1 = max1; | |
| 66 |
2/2✓ Branch 0 taken 5985322 times.
✓ Branch 1 taken 13304625 times.
|
19289947 | if((max2 < lower_bound_1)) |
| 67 | { | ||
| 68 | 5985322 | lower_bound_1 = max2; | |
| 69 | } | ||
| 70 | else | ||
| 71 | { | ||
| 72 |
2/2✓ Branch 0 taken 11473045 times.
✓ Branch 1 taken 1831580 times.
|
13304625 | if((max2 > upper_bound_1)) |
| 73 | { | ||
| 74 | 11473045 | upper_bound_1 = max2; | |
| 75 | } | ||
| 76 | } | ||
| 77 |
2/2✓ Branch 0 taken 3704433 times.
✓ Branch 1 taken 15585514 times.
|
19289947 | if((max3 < lower_bound_1)) |
| 78 | { | ||
| 79 | 3704433 | lower_bound_1 = max3; | |
| 80 | } | ||
| 81 | else | ||
| 82 | { | ||
| 83 |
2/2✓ Branch 0 taken 3737925 times.
✓ Branch 1 taken 11847589 times.
|
15585514 | if((max3 > upper_bound_1)) |
| 84 | { | ||
| 85 | 3737925 | upper_bound_1 = max3; | |
| 86 | } | ||
| 87 | } | ||
| 88 |
2/2✓ Branch 0 taken 419803 times.
✓ Branch 1 taken 18870144 times.
|
19289947 | if((lower_bound_1 < 1.63288018496748314939e-98)) |
| 89 | { | ||
| 90 | 419803 | return FPG_UNCERTAIN_VALUE; | |
| 91 | } | ||
| 92 | else | ||
| 93 | { | ||
| 94 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 18870144 times.
|
18870144 | if((upper_bound_1 > 5.59936185544450928309e+101)) |
| 95 | { | ||
| 96 | ✗ | return FPG_UNCERTAIN_VALUE; | |
| 97 | } | ||
| 98 | 18870144 | eps = (5.11071278299732992696e-15 * ((max2 * max3) * max1)); | |
| 99 |
2/2✓ Branch 0 taken 6231104 times.
✓ Branch 1 taken 12639040 times.
|
18870144 | if((Delta > eps)) |
| 100 | { | ||
| 101 | 6231104 | int_tmp_result = 1; | |
| 102 | } | ||
| 103 | else | ||
| 104 | { | ||
| 105 |
2/2✓ Branch 0 taken 8098253 times.
✓ Branch 1 taken 4540787 times.
|
12639040 | if((Delta < -eps)) |
| 106 | { | ||
| 107 | 8098253 | int_tmp_result = -1; | |
| 108 | } | ||
| 109 | else | ||
| 110 | { | ||
| 111 | 4540787 | return FPG_UNCERTAIN_VALUE; | |
| 112 | } | ||
| 113 | } | ||
| 114 | } | ||
| 115 | 14329357 | return int_tmp_result; | |
| 116 | } | ||
| 117 |