00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #include <pcl/keypoints/agast_2d.h>
00040 #include <pcl/point_types.h>
00041 #include <pcl/impl/instantiate.hpp>
00042
00044 void
00045 pcl::AgastKeypoint2D<pcl::PointXYZ, pcl::PointUV>::detectKeypoints (pcl::PointCloud<pcl::PointUV> &output)
00046 {
00047
00048 const size_t width = input_->width;
00049 const size_t height = input_->height;
00050
00051
00052 std::vector<float> image_data (width * height);
00053
00054 for (size_t i = 0; i < image_data.size (); ++i)
00055 image_data[i] = static_cast<float> (intensity_ ((*input_)[i]));
00056
00057 if (!detector_)
00058 detector_.reset (new pcl::keypoints::agast::AgastDetector7_12s (width, height, threshold_, bmax_));
00059
00060 detector_->setMaxKeypoints (nr_max_keypoints_);
00061
00062 if (apply_non_max_suppression_)
00063 {
00064 pcl::PointCloud<pcl::PointUV> tmp_cloud;
00065
00066 detector_->detectKeypoints (image_data, tmp_cloud);
00067 detector_->applyNonMaxSuppression (image_data, tmp_cloud, output);
00068 }
00069 else
00070 {
00071 detector_->detectKeypoints (image_data, output);
00072 }
00073
00074
00075 output.is_dense = true;
00076 }
00077
00079 void
00080 pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints (
00081 const std::vector<unsigned char> & intensity_data,
00082 pcl::PointCloud<pcl::PointUV> &output)
00083 {
00084 detect (&(intensity_data[0]), output.points);
00085
00086 output.height = 1;
00087 output.width = static_cast<uint32_t> (output.points.size ());
00088 }
00089
00091 void
00092 pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints (
00093 const std::vector<float> & intensity_data,
00094 pcl::PointCloud<pcl::PointUV> &output)
00095 {
00096 detect (&(intensity_data[0]), output.points);
00097
00098 output.height = 1;
00099 output.width = static_cast<uint32_t> (output.points.size ());
00100 }
00101
00103 void
00104 pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression (
00105 const pcl::PointCloud<pcl::PointUV> &input,
00106 const std::vector<ScoreIndex> &scores,
00107 pcl::PointCloud<pcl::PointUV> &output)
00108 {
00109 std::vector<int> nms_flags;
00110
00111 const std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners_all = input.points;
00112 std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners_nms = output.points;
00113
00114 int curr_corner_ind;
00115 int lastRow = 0, next_lastRow = 0;
00116 std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >::const_iterator curr_corner;
00117 int lastRowCorner_ind = 0, next_lastRowCorner_ind = 0;
00118 std::vector<int>::iterator nms_flags_p;
00119 std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >::iterator curr_corner_nms;
00120 int j;
00121 int num_corners_all = int (corners_all.size ());
00122 int n_max_corners = int (corners_nms.capacity ());
00123
00124 curr_corner = corners_all.begin ();
00125
00126 if (num_corners_all > n_max_corners)
00127 {
00128 if (n_max_corners == 0)
00129 {
00130 n_max_corners = 512 > num_corners_all ? 512 : num_corners_all;
00131 corners_nms.reserve (n_max_corners);
00132 nms_flags.reserve (n_max_corners);
00133 }
00134 else
00135 {
00136 n_max_corners *= 2;
00137 if (num_corners_all > n_max_corners)
00138 n_max_corners = num_corners_all;
00139 corners_nms.reserve (n_max_corners);
00140 nms_flags.reserve (n_max_corners);
00141 }
00142 }
00143 corners_nms.resize (num_corners_all);
00144 nms_flags.resize (num_corners_all);
00145
00146 nms_flags_p = nms_flags.begin ();
00147 curr_corner_nms = corners_nms.begin ();
00148
00149
00150 for (j = num_corners_all; j > 0; j--)
00151 *nms_flags_p++= -1;
00152 nms_flags_p = nms_flags.begin ();
00153
00154 for (curr_corner_ind = 0; curr_corner_ind < num_corners_all; curr_corner_ind++)
00155 {
00156 int t;
00157
00158
00159 if (lastRow + 1 < curr_corner->v)
00160 {
00161 lastRow=next_lastRow;
00162 lastRowCorner_ind=next_lastRowCorner_ind;
00163 }
00164 if (next_lastRow != curr_corner->v)
00165 {
00166 next_lastRow = int (curr_corner->v);
00167 next_lastRowCorner_ind = curr_corner_ind;
00168 }
00169 if (lastRow+1 == curr_corner->v)
00170 {
00171
00172 while ((corners_all[lastRowCorner_ind].u < curr_corner->u) && (corners_all[lastRowCorner_ind].v == lastRow))
00173 lastRowCorner_ind++;
00174
00175 if ((corners_all[lastRowCorner_ind].u == curr_corner->u) && (lastRowCorner_ind!=curr_corner_ind))
00176 {
00177 int t = lastRowCorner_ind;
00178 while (nms_flags[t] != -1)
00179 t = nms_flags[t];
00180
00181 if (scores[curr_corner_ind].score < scores[t].score)
00182 {
00183 nms_flags[curr_corner_ind] = t;
00184 }
00185 else
00186 nms_flags[t] = curr_corner_ind;
00187 }
00188 }
00189
00190
00191 t = curr_corner_ind - 1;
00192 if ((curr_corner_ind!=0) && (corners_all[t].v == curr_corner->v) && (corners_all[t].u+1 == curr_corner->u))
00193 {
00194 int curr_cornerMaxAbove_ind = nms_flags[curr_corner_ind];
00195
00196 while (nms_flags[t] != -1)
00197 t = nms_flags[t];
00198
00199 if (curr_cornerMaxAbove_ind == -1)
00200 {
00201 if (t != curr_corner_ind)
00202 {
00203 if (scores[curr_corner_ind].score < scores[t].score)
00204 nms_flags[curr_corner_ind] = t;
00205 else
00206 nms_flags[t] = curr_corner_ind;
00207 }
00208 }
00209 else
00210 {
00211 if (t != curr_cornerMaxAbove_ind)
00212 {
00213 if (scores[curr_cornerMaxAbove_ind].score < scores[t].score)
00214 {
00215 nms_flags[curr_cornerMaxAbove_ind] = t;
00216 nms_flags[curr_corner_ind] = t;
00217 }
00218 else
00219 {
00220 nms_flags[t] = curr_cornerMaxAbove_ind;
00221 nms_flags[curr_corner_ind] = curr_cornerMaxAbove_ind;
00222 }
00223 }
00224 }
00225 }
00226
00227 curr_corner++;
00228 }
00229
00230
00231 corners_nms.resize (0);
00232 for (curr_corner_ind = 0; curr_corner_ind < num_corners_all; curr_corner_ind++)
00233 {
00234 if (*nms_flags_p++ == -1)
00235 corners_nms.push_back (corners_all[curr_corner_ind]);
00236 }
00237
00238 output.height = 1;
00239 output.width = static_cast<uint32_t> (output.points.size ());
00240 output.is_dense = input.is_dense;
00241 }
00242
00244 void
00245 pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression (
00246 const std::vector<unsigned char>& intensity_data,
00247 const pcl::PointCloud<pcl::PointUV> &input,
00248 pcl::PointCloud<pcl::PointUV> &output)
00249 {
00250 std::vector<ScoreIndex> scores;
00251 computeCornerScores (&(intensity_data[0]), input.points, scores);
00252
00253
00254 if (nr_max_keypoints_ <= scores.size ())
00255 {
00256 std::sort (scores.begin (), scores.end (), CompareScoreIndex ());
00257
00258 scores.resize (nr_max_keypoints_);
00259
00260
00261 pcl::PointCloud<pcl::PointUV> best_input;
00262 best_input.resize (nr_max_keypoints_);
00263 for (int i = 0; i < scores.size (); ++i)
00264 best_input[i] = input[scores[i].idx];
00265 applyNonMaxSuppression (best_input, scores, output);
00266 }
00267 else
00268 applyNonMaxSuppression (input, scores, output);
00269 }
00270
00272 void
00273 pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression (
00274 const std::vector<float>& intensity_data,
00275 const pcl::PointCloud<pcl::PointUV> &input,
00276 pcl::PointCloud<pcl::PointUV> &output)
00277 {
00278 std::vector<ScoreIndex> scores;
00279 computeCornerScores (&(intensity_data[0]), input.points, scores);
00280
00281
00282 if (nr_max_keypoints_ <= scores.size ())
00283 {
00284 std::sort (scores.begin (), scores.end (), CompareScoreIndex ());
00285
00286 scores.resize (nr_max_keypoints_);
00287
00288
00289 pcl::PointCloud<pcl::PointUV> best_input;
00290 best_input.resize (nr_max_keypoints_);
00291 for (int i = 0; i < scores.size (); ++i)
00292 best_input[i] = input[scores[i].idx];
00293 applyNonMaxSuppression (best_input, scores, output);
00294 }
00295 else
00296 applyNonMaxSuppression (input, scores, output);
00297 }
00298
00300 void
00301 pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores (
00302 const unsigned char* im,
00303 const std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > &corners_all,
00304 std::vector<ScoreIndex> &scores)
00305 {
00306 unsigned int n = 0;
00307 unsigned int num_corners = static_cast<unsigned int> (corners_all.size ());
00308
00309 if (num_corners > scores.capacity ())
00310 {
00311 if (scores.capacity () == 0)
00312 scores.reserve (512 > num_corners ? 512 : num_corners);
00313 else
00314 {
00315 unsigned int nScores = static_cast<unsigned int> (scores.capacity ()) * 2;
00316 if (num_corners > nScores)
00317 nScores = num_corners;
00318 scores.reserve (nScores);
00319 }
00320 }
00321 scores.resize (num_corners);
00322
00323 for (; n < num_corners; n++)
00324 {
00325 scores[n].idx = n;
00326 scores[n].score = computeCornerScore (im + static_cast<size_t> (corners_all[n].v) * width_ + static_cast<size_t> (corners_all[n].u));
00327 }
00328 }
00329
00331 void
00332 pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores (
00333 const float* im,
00334 const std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > &corners_all,
00335 std::vector<ScoreIndex> &scores)
00336 {
00337 unsigned int n = 0;
00338 unsigned int num_corners = static_cast<unsigned int> (corners_all.size ());
00339
00340 if (num_corners > scores.capacity ())
00341 {
00342 if (scores.capacity () == 0)
00343 scores.reserve (512 > num_corners ? 512 : num_corners);
00344 else
00345 {
00346 unsigned int nScores = static_cast<unsigned int> (scores.capacity ()) * 2;
00347 if (num_corners > nScores)
00348 nScores = num_corners;
00349 scores.reserve (nScores);
00350 }
00351 }
00352 scores.resize (num_corners);
00353
00354 for (; n < num_corners; n++)
00355 {
00356 scores[n].idx = n;
00357 scores[n].score = computeCornerScore (im + static_cast<size_t> (corners_all[n].v) * width_ + static_cast<size_t> (corners_all[n].u));
00358 }
00359 }
00360
00361
00365 namespace pcl
00366 {
00367 namespace keypoints
00368 {
00369 namespace agast
00370 {
00372
00373 template <typename T1, typename T2> void
00374 AgastDetector7_12s_detect (
00375 const T1* im,
00376 int img_width, int img_height,
00377 double threshold,
00378 int_fast16_t s_offset0,
00379 int_fast16_t s_offset1,
00380 int_fast16_t s_offset2,
00381 int_fast16_t s_offset3,
00382 int_fast16_t s_offset4,
00383 int_fast16_t s_offset5,
00384 int_fast16_t s_offset6,
00385 int_fast16_t s_offset7,
00386 int_fast16_t s_offset8,
00387 int_fast16_t s_offset9,
00388 int_fast16_t s_offset10,
00389 int_fast16_t s_offset11,
00390 std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >& corners)
00391 {
00392 int total = 0;
00393 int n_expected_corners = int (corners.capacity ());
00394 pcl::PointUV h;
00395 register int x, y;
00396 register int width_b = img_width - 3;
00397 register int height_b = img_height - 2;
00398 register int_fast16_t offset0, offset1, offset2, offset3, offset4, offset5, offset6, offset7, offset8, offset9, offset10, offset11;
00399 register int width;
00400
00401 corners.resize (0);
00402
00403 offset0 = s_offset0;
00404 offset1 = s_offset1;
00405 offset2 = s_offset2;
00406 offset3 = s_offset3;
00407 offset4 = s_offset4;
00408 offset5 = s_offset5;
00409 offset6 = s_offset6;
00410 offset7 = s_offset7;
00411 offset8 = s_offset8;
00412 offset9 = s_offset9;
00413 offset10 = s_offset10;
00414 offset11 = s_offset11;
00415 width = img_width;
00416
00417 for (y = 2; y < height_b; y++)
00418 {
00419 x = 1;
00420 while (1)
00421 {
00422 homogeneous:
00423 {
00424 x++;
00425 if (x > width_b)
00426 break;
00427 else
00428 {
00429 register const T1* const p = im + y * width + x;
00430 register const T2 cb = *p + T2 (threshold);
00431 register const T2 c_b = *p - T2 (threshold);
00432 if (p[offset0] > cb)
00433 if (p[offset2] > cb)
00434 if (p[offset5] > cb)
00435 if (p[offset9] > cb)
00436 if (p[offset7] > cb)
00437 if (p[offset1] > cb)
00438 if (p[offset6] > cb)
00439 if (p[offset3] > cb)
00440 if (p[offset4] > cb)
00441 goto success_structured;
00442 else
00443 if (p[offset10] > cb)
00444 if (p[offset11] > cb)
00445 goto success_structured;
00446 else
00447 goto structured;
00448 else
00449 goto homogeneous;
00450 else
00451 if (p[offset8] > cb)
00452 if (p[offset10] > cb)
00453 if (p[offset4] > cb)
00454 goto success_structured;
00455 else
00456 if (p[offset11] > cb)
00457 goto success_structured;
00458 else
00459 goto structured;
00460 else
00461 goto homogeneous;
00462 else
00463 goto homogeneous;
00464 else
00465 if (p[offset11] > cb)
00466 if (p[offset3] > cb)
00467 if (p[offset4] > cb)
00468 goto success_structured;
00469 else
00470 if (p[offset10] > cb)
00471 goto success_structured;
00472 else
00473 goto homogeneous;
00474 else
00475 if (p[offset8] > cb)
00476 if (p[offset10] > cb)
00477 goto success_structured;
00478 else
00479 goto homogeneous;
00480 else
00481 goto homogeneous;
00482 else
00483 goto homogeneous;
00484 else
00485 if (p[offset6] > cb)
00486 if (p[offset8] > cb)
00487 if (p[offset4] > cb)
00488 if (p[offset3] > cb)
00489 goto success_structured;
00490 else
00491 if (p[offset10] > cb)
00492 goto success_structured;
00493 else
00494 goto homogeneous;
00495 else
00496 if (p[offset10] > cb)
00497 if (p[offset11] > cb)
00498 goto success_structured;
00499 else
00500 goto homogeneous;
00501 else
00502 goto homogeneous;
00503 else
00504 goto homogeneous;
00505 else
00506 goto homogeneous;
00507 else
00508 if (p[offset1] > cb)
00509 if (p[offset11] > cb)
00510 if (p[offset3] > cb)
00511 if (p[offset4] > cb)
00512 goto success_homogeneous;
00513 else
00514 if (p[offset10] > cb)
00515 goto success_homogeneous;
00516 else
00517 goto homogeneous;
00518 else
00519 if (p[offset8] > cb)
00520 if (p[offset10] > cb)
00521 goto success_homogeneous;
00522 else
00523 goto homogeneous;
00524 else
00525 goto homogeneous;
00526 else
00527 if (p[offset6] > cb)
00528 if (p[offset3] > cb)
00529 if (p[offset4] > cb)
00530 goto success_homogeneous;
00531 else
00532 goto homogeneous;
00533 else
00534 goto homogeneous;
00535 else
00536 goto homogeneous;
00537 else
00538 goto homogeneous;
00539 else
00540 if (p[offset3] > cb)
00541 if (p[offset4] > cb)
00542 if (p[offset7] > cb)
00543 if (p[offset1] > cb)
00544 if (p[offset6] > cb)
00545 goto success_homogeneous;
00546 else
00547 if (p[offset11] > cb)
00548 goto success_homogeneous;
00549 else
00550 goto homogeneous;
00551 else
00552 if (p[offset6] > cb)
00553 if (p[offset8] > cb)
00554 goto success_homogeneous;
00555 else
00556 goto homogeneous;
00557 else
00558 goto homogeneous;
00559 else
00560 if (p[offset1] > cb)
00561 if (p[offset6] > cb)
00562 goto success_homogeneous;
00563 else
00564 if (p[offset11] > cb)
00565 goto success_homogeneous;
00566 else
00567 goto homogeneous;
00568 else
00569 goto homogeneous;
00570 else
00571 goto homogeneous;
00572 else
00573 goto homogeneous;
00574 else
00575 if (p[offset9] < c_b)
00576 if (p[offset7] < c_b)
00577 if (p[offset5] < c_b)
00578 if (p[offset1] > cb)
00579 if (p[offset4] > cb)
00580 if (p[offset10] > cb)
00581 if (p[offset3] > cb)
00582 if (p[offset11] > cb)
00583 goto success_structured;
00584 else
00585 goto structured;
00586 else
00587 goto homogeneous;
00588 else
00589 if (p[offset6] < c_b)
00590 if (p[offset8] < c_b)
00591 if (p[offset11] < c_b)
00592 if (p[offset10] < c_b)
00593 goto success_structured;
00594 else
00595 goto structured;
00596 else
00597 goto structured;
00598 else
00599 goto homogeneous;
00600 else
00601 goto homogeneous;
00602 else
00603 if (p[offset6] < c_b)
00604 if (p[offset8] < c_b)
00605 if (p[offset10] < c_b)
00606 if (p[offset4] < c_b)
00607 goto success_structured;
00608 else
00609 if (p[offset11] < c_b)
00610 goto success_structured;
00611 else
00612 goto structured;
00613 else
00614 if (p[offset3] < c_b)
00615 if (p[offset4] < c_b)
00616 goto success_structured;
00617 else
00618 goto structured;
00619 else
00620 goto homogeneous;
00621 else
00622 goto homogeneous;
00623 else
00624 goto homogeneous;
00625 else
00626 if (p[offset6] < c_b)
00627 if (p[offset8] < c_b)
00628 if (p[offset4] < c_b)
00629 if (p[offset3] < c_b)
00630 goto success_structured;
00631 else
00632 if (p[offset10] < c_b)
00633 goto success_structured;
00634 else
00635 goto homogeneous;
00636 else
00637 if (p[offset10] < c_b)
00638 if (p[offset11] < c_b)
00639 goto success_structured;
00640 else
00641 goto homogeneous;
00642 else
00643 goto homogeneous;
00644 else
00645 goto homogeneous;
00646 else
00647 goto homogeneous;
00648 else
00649 if (p[offset1] > cb)
00650 if (p[offset3] > cb)
00651 if (p[offset4] > cb)
00652 if (p[offset10] > cb)
00653 if (p[offset11] > cb)
00654 goto success_structured;
00655 else
00656 goto homogeneous;
00657 else
00658 goto homogeneous;
00659 else
00660 goto homogeneous;
00661 else
00662 goto homogeneous;
00663 else
00664 goto homogeneous;
00665 else
00666 if (p[offset1] > cb)
00667 if (p[offset3] > cb)
00668 if (p[offset4] > cb)
00669 if (p[offset10] > cb)
00670 if (p[offset11] > cb)
00671 goto success_homogeneous;
00672 else
00673 goto homogeneous;
00674 else
00675 goto homogeneous;
00676 else
00677 goto homogeneous;
00678 else
00679 goto homogeneous;
00680 else
00681 goto homogeneous;
00682 else
00683 if (p[offset10] > cb)
00684 if (p[offset11] > cb)
00685 if (p[offset9] > cb)
00686 if (p[offset7] > cb)
00687 if (p[offset1] > cb)
00688 if (p[offset3] > cb)
00689 goto success_homogeneous;
00690 else
00691 if (p[offset8] > cb)
00692 goto success_homogeneous;
00693 else
00694 goto homogeneous;
00695 else
00696 if (p[offset6] > cb)
00697 if (p[offset8] > cb)
00698 goto success_homogeneous;
00699 else
00700 goto homogeneous;
00701 else
00702 goto homogeneous;
00703 else
00704 if (p[offset1] > cb)
00705 if (p[offset3] > cb)
00706 goto success_homogeneous;
00707 else
00708 if (p[offset8] > cb)
00709 goto success_homogeneous;
00710 else
00711 goto homogeneous;
00712 else
00713 goto homogeneous;
00714 else
00715 if (p[offset1] > cb)
00716 if (p[offset3] > cb)
00717 if (p[offset4] > cb)
00718 goto success_homogeneous;
00719 else
00720 goto homogeneous;
00721 else
00722 goto homogeneous;
00723 else
00724 goto homogeneous;
00725 else
00726 goto homogeneous;
00727 else
00728 goto homogeneous;
00729 else
00730 if (p[offset7] > cb)
00731 if (p[offset9] > cb)
00732 if (p[offset8] > cb)
00733 if (p[offset5] > cb)
00734 if (p[offset1] > cb)
00735 if (p[offset10] > cb)
00736 if (p[offset11] > cb)
00737 goto success_homogeneous;
00738 else
00739 if (p[offset6] > cb)
00740 if (p[offset4] > cb)
00741 goto success_structured;
00742 else
00743 goto homogeneous;
00744 else
00745 goto homogeneous;
00746 else
00747 if (p[offset6] > cb)
00748 if (p[offset3] > cb)
00749 if (p[offset4] > cb)
00750 goto success_structured;
00751 else
00752 goto homogeneous;
00753 else
00754 goto homogeneous;
00755 else
00756 goto homogeneous;
00757 else
00758 if (p[offset6] > cb)
00759 if (p[offset4] > cb)
00760 if (p[offset3] > cb)
00761 goto success_homogeneous;
00762 else
00763 if (p[offset10] > cb)
00764 goto success_homogeneous;
00765 else
00766 goto homogeneous;
00767 else
00768 if (p[offset10] > cb)
00769 if (p[offset11] > cb)
00770 goto success_homogeneous;
00771 else
00772 goto homogeneous;
00773 else
00774 goto homogeneous;
00775 else
00776 goto homogeneous;
00777 else
00778 if (p[offset10] > cb)
00779 if (p[offset11] > cb)
00780 if (p[offset1] > cb)
00781 goto success_homogeneous;
00782 else
00783 if (p[offset6] > cb)
00784 goto success_homogeneous;
00785 else
00786 goto homogeneous;
00787 else
00788 goto homogeneous;
00789 else
00790 goto homogeneous;
00791 else
00792 goto homogeneous;
00793 else
00794 goto homogeneous;
00795 else
00796 if (p[offset7] < c_b)
00797 if (p[offset5] < c_b)
00798 if (p[offset2] < c_b)
00799 if (p[offset6] < c_b)
00800 if (p[offset4] < c_b)
00801 if (p[offset3] < c_b)
00802 if (p[offset1] < c_b)
00803 goto success_homogeneous;
00804 else
00805 if (p[offset8] < c_b)
00806 goto success_homogeneous;
00807 else
00808 goto homogeneous;
00809 else
00810 if (p[offset9] < c_b)
00811 if (p[offset8] < c_b)
00812 if (p[offset10] < c_b)
00813 goto success_structured;
00814 else
00815 goto homogeneous;
00816 else
00817 goto homogeneous;
00818 else
00819 goto homogeneous;
00820 else
00821 if (p[offset9] < c_b)
00822 if (p[offset8] < c_b)
00823 if (p[offset10] < c_b)
00824 if (p[offset11] < c_b)
00825 goto success_structured;
00826 else
00827 goto homogeneous;
00828 else
00829 goto homogeneous;
00830 else
00831 goto homogeneous;
00832 else
00833 goto homogeneous;
00834 else
00835 goto homogeneous;
00836 else
00837 if (p[offset9] < c_b)
00838 if (p[offset6] < c_b)
00839 if (p[offset8] < c_b)
00840 if (p[offset4] < c_b)
00841 if (p[offset3] < c_b)
00842 goto success_homogeneous;
00843 else
00844 if (p[offset10] < c_b)
00845 goto success_homogeneous;
00846 else
00847 goto homogeneous;
00848 else
00849 if (p[offset10] < c_b)
00850 if (p[offset11] < c_b)
00851 goto success_homogeneous;
00852 else
00853 goto homogeneous;
00854 else
00855 goto homogeneous;
00856 else
00857 goto homogeneous;
00858 else
00859 goto homogeneous;
00860 else
00861 goto homogeneous;
00862 else
00863 goto homogeneous;
00864 else
00865 goto homogeneous;
00866 else if (p[offset0] < c_b)
00867 if (p[offset2] < c_b)
00868 if (p[offset9] < c_b)
00869 if (p[offset5] < c_b)
00870 if (p[offset7] < c_b)
00871 if (p[offset1] < c_b)
00872 if (p[offset6] < c_b)
00873 if (p[offset3] < c_b)
00874 if (p[offset4] < c_b)
00875 goto success_structured;
00876 else
00877 if (p[offset10] < c_b)
00878 if (p[offset11] < c_b)
00879 goto success_structured;
00880 else
00881 goto structured;
00882 else
00883 goto homogeneous;
00884 else
00885 if (p[offset8] < c_b)
00886 if (p[offset10] < c_b)
00887 if (p[offset4] < c_b)
00888 goto success_structured;
00889 else
00890 if (p[offset11] < c_b)
00891 goto success_structured;
00892 else
00893 goto structured;
00894 else
00895 goto homogeneous;
00896 else
00897 goto homogeneous;
00898 else
00899 if (p[offset11] < c_b)
00900 if (p[offset3] < c_b)
00901 if (p[offset4] < c_b)
00902 goto success_structured;
00903 else
00904 if (p[offset10] < c_b)
00905 goto success_structured;
00906 else
00907 goto homogeneous;
00908 else
00909 if (p[offset8] < c_b)
00910 if (p[offset10] < c_b)
00911 goto success_structured;
00912 else
00913 goto homogeneous;
00914 else
00915 goto homogeneous;
00916 else
00917 goto homogeneous;
00918 else
00919 if (p[offset6] < c_b)
00920 if (p[offset8] < c_b)
00921 if (p[offset4] < c_b)
00922 if (p[offset3] < c_b)
00923 goto success_structured;
00924 else
00925 if (p[offset10] < c_b)
00926 goto success_structured;
00927 else
00928 goto homogeneous;
00929 else
00930 if (p[offset10] < c_b)
00931 if (p[offset11] < c_b)
00932 goto success_structured;
00933 else
00934 goto homogeneous;
00935 else
00936 goto homogeneous;
00937 else
00938 goto homogeneous;
00939 else
00940 goto homogeneous;
00941 else
00942 if (p[offset1] < c_b)
00943 if (p[offset11] < c_b)
00944 if (p[offset3] < c_b)
00945 if (p[offset4] < c_b)
00946 goto success_homogeneous;
00947 else
00948 if (p[offset10] < c_b)
00949 goto success_homogeneous;
00950 else
00951 goto homogeneous;
00952 else
00953 if (p[offset8] < c_b)
00954 if (p[offset10] < c_b)
00955 goto success_homogeneous;
00956 else
00957 goto homogeneous;
00958 else
00959 goto homogeneous;
00960 else
00961 if (p[offset6] < c_b)
00962 if (p[offset3] < c_b)
00963 if (p[offset4] < c_b)
00964 goto success_homogeneous;
00965 else
00966 goto homogeneous;
00967 else
00968 goto homogeneous;
00969 else
00970 goto homogeneous;
00971 else
00972 goto homogeneous;
00973 else
00974 if (p[offset10] < c_b)
00975 if (p[offset11] < c_b)
00976 if (p[offset7] < c_b)
00977 if (p[offset1] < c_b)
00978 if (p[offset3] < c_b)
00979 goto success_homogeneous;
00980 else
00981 if (p[offset8] < c_b)
00982 goto success_homogeneous;
00983 else
00984 goto homogeneous;
00985 else
00986 if (p[offset6] < c_b)
00987 if (p[offset8] < c_b)
00988 goto success_homogeneous;
00989 else
00990 goto homogeneous;
00991 else
00992 goto homogeneous;
00993 else
00994 if (p[offset1] < c_b)
00995 if (p[offset3] < c_b)
00996 goto success_homogeneous;
00997 else
00998 if (p[offset8] < c_b)
00999 goto success_homogeneous;
01000 else
01001 goto homogeneous;
01002 else
01003 goto homogeneous;
01004 else
01005 goto homogeneous;
01006 else
01007 goto homogeneous;
01008 else
01009 if (p[offset9] > cb)
01010 if (p[offset5] > cb)
01011 if (p[offset7] > cb)
01012 if (p[offset1] < c_b)
01013 if (p[offset4] < c_b)
01014 if (p[offset10] < c_b)
01015 if (p[offset3] < c_b)
01016 if (p[offset11] < c_b)
01017 goto success_structured;
01018 else
01019 goto structured;
01020 else
01021 goto homogeneous;
01022 else
01023 if (p[offset6] > cb)
01024 if (p[offset8] > cb)
01025 if (p[offset11] > cb)
01026 if (p[offset10] > cb)
01027 goto success_structured;
01028 else
01029 goto structured;
01030 else
01031 goto structured;
01032 else
01033 goto homogeneous;
01034 else
01035 goto homogeneous;
01036 else
01037 if (p[offset6] > cb)
01038 if (p[offset8] > cb)
01039 if (p[offset10] > cb)
01040 if (p[offset4] > cb)
01041 goto success_structured;
01042 else
01043 if (p[offset11] > cb)
01044 goto success_structured;
01045 else
01046 goto structured;
01047 else
01048 if (p[offset3] > cb)
01049 if (p[offset4] > cb)
01050 goto success_structured;
01051 else
01052 goto structured;
01053 else
01054 goto homogeneous;
01055 else
01056 goto homogeneous;
01057 else
01058 goto homogeneous;
01059 else
01060 if (p[offset6] > cb)
01061 if (p[offset8] > cb)
01062 if (p[offset4] > cb)
01063 if (p[offset3] > cb)
01064 goto success_structured;
01065 else
01066 if (p[offset10] > cb)
01067 goto success_structured;
01068 else
01069 goto homogeneous;
01070 else
01071 if (p[offset10] > cb)
01072 if (p[offset11] > cb)
01073 goto success_structured;
01074 else
01075 goto homogeneous;
01076 else
01077 goto homogeneous;
01078 else
01079 goto homogeneous;
01080 else
01081 goto homogeneous;
01082 else
01083 if (p[offset1] < c_b)
01084 if (p[offset3] < c_b)
01085 if (p[offset4] < c_b)
01086 if (p[offset10] < c_b)
01087 if (p[offset11] < c_b)
01088 goto success_structured;
01089 else
01090 goto homogeneous;
01091 else
01092 goto homogeneous;
01093 else
01094 goto homogeneous;
01095 else
01096 goto homogeneous;
01097 else
01098 goto homogeneous;
01099 else
01100 if (p[offset3] < c_b)
01101 if (p[offset4] < c_b)
01102 if (p[offset5] < c_b)
01103 if (p[offset7] < c_b)
01104 if (p[offset1] < c_b)
01105 if (p[offset6] < c_b)
01106 goto success_structured;
01107 else
01108 if (p[offset11] < c_b)
01109 goto success_structured;
01110 else
01111 goto homogeneous;
01112 else
01113 if (p[offset6] < c_b)
01114 if (p[offset8] < c_b)
01115 goto success_structured;
01116 else
01117 goto homogeneous;
01118 else
01119 goto homogeneous;
01120 else
01121 if (p[offset1] < c_b)
01122 if (p[offset6] < c_b)
01123 goto success_homogeneous;
01124 else
01125 if (p[offset11] < c_b)
01126 goto success_homogeneous;
01127 else
01128 goto homogeneous;
01129 else
01130 goto homogeneous;
01131 else
01132 if (p[offset1] < c_b)
01133 if (p[offset10] < c_b)
01134 if (p[offset11] < c_b)
01135 goto success_homogeneous;
01136 else
01137 goto homogeneous;
01138 else
01139 goto homogeneous;
01140 else
01141 goto homogeneous;
01142 else
01143 goto homogeneous;
01144 else
01145 goto homogeneous;
01146 else
01147 if (p[offset3] < c_b)
01148 if (p[offset4] < c_b)
01149 if (p[offset5] < c_b)
01150 if (p[offset7] < c_b)
01151 if (p[offset1] < c_b)
01152 if (p[offset6] < c_b)
01153 goto success_homogeneous;
01154 else
01155 if (p[offset11] < c_b)
01156 goto success_homogeneous;
01157 else
01158 goto homogeneous;
01159 else
01160 if (p[offset6] < c_b)
01161 if (p[offset8] < c_b)
01162 goto success_homogeneous;
01163 else
01164 goto homogeneous;
01165 else
01166 goto homogeneous;
01167 else
01168 if (p[offset1] < c_b)
01169 if (p[offset6] < c_b)
01170 goto success_homogeneous;
01171 else
01172 if (p[offset11] < c_b)
01173 goto success_homogeneous;
01174 else
01175 goto homogeneous;
01176 else
01177 goto homogeneous;
01178 else
01179 if (p[offset1] < c_b)
01180 if (p[offset10] < c_b)
01181 if (p[offset11] < c_b)
01182 goto success_homogeneous;
01183 else
01184 goto homogeneous;
01185 else
01186 goto homogeneous;
01187 else
01188 goto homogeneous;
01189 else
01190 goto homogeneous;
01191 else
01192 goto homogeneous;
01193 else
01194 if (p[offset7] > cb)
01195 if (p[offset5] > cb)
01196 if (p[offset2] > cb)
01197 if (p[offset6] > cb)
01198 if (p[offset4] > cb)
01199 if (p[offset3] > cb)
01200 if (p[offset1] > cb)
01201 goto success_homogeneous;
01202 else
01203 if (p[offset8] > cb)
01204 goto success_homogeneous;
01205 else
01206 goto homogeneous;
01207 else
01208 if (p[offset9] > cb)
01209 if (p[offset8] > cb)
01210 if (p[offset10] > cb)
01211 goto success_structured;
01212 else
01213 goto homogeneous;
01214 else
01215 goto homogeneous;
01216 else
01217 goto homogeneous;
01218 else
01219 if (p[offset9] > cb)
01220 if (p[offset8] > cb)
01221 if (p[offset10] > cb)
01222 if (p[offset11] > cb)
01223 goto success_structured;
01224 else
01225 goto homogeneous;
01226 else
01227 goto homogeneous;
01228 else
01229 goto homogeneous;
01230 else
01231 goto homogeneous;
01232 else
01233 goto homogeneous;
01234 else
01235 if (p[offset9] > cb)
01236 if (p[offset6] > cb)
01237 if (p[offset8] > cb)
01238 if (p[offset4] > cb)
01239 if (p[offset3] > cb)
01240 goto success_homogeneous;
01241 else
01242 if (p[offset10] > cb)
01243 goto success_homogeneous;
01244 else
01245 goto homogeneous;
01246 else
01247 if (p[offset10] > cb)
01248 if (p[offset11] > cb)
01249 goto success_homogeneous;
01250 else
01251 goto homogeneous;
01252 else
01253 goto homogeneous;
01254 else
01255 goto homogeneous;
01256 else
01257 goto homogeneous;
01258 else
01259 goto homogeneous;
01260 else
01261 goto homogeneous;
01262 else
01263 if (p[offset7] < c_b)
01264 if (p[offset9] < c_b)
01265 if (p[offset8] < c_b)
01266 if (p[offset5] < c_b)
01267 if (p[offset1] < c_b)
01268 if (p[offset10] < c_b)
01269 if (p[offset11] < c_b)
01270 goto success_homogeneous;
01271 else
01272 if (p[offset6] < c_b)
01273 if (p[offset4] < c_b)
01274 goto success_structured;
01275 else
01276 goto homogeneous;
01277 else
01278 goto homogeneous;
01279 else
01280 if (p[offset6] < c_b)
01281 if (p[offset3] < c_b)
01282 if (p[offset4] < c_b)
01283 goto success_structured;
01284 else
01285 goto homogeneous;
01286 else
01287 goto homogeneous;
01288 else
01289 goto homogeneous;
01290 else
01291 if (p[offset6] < c_b)
01292 if (p[offset4] < c_b)
01293 if (p[offset3] < c_b)
01294 goto success_homogeneous;
01295 else
01296 if (p[offset10] < c_b)
01297 goto success_homogeneous;
01298 else
01299 goto homogeneous;
01300 else
01301 if (p[offset10] < c_b)
01302 if (p[offset11] < c_b)
01303 goto success_homogeneous;
01304 else
01305 goto homogeneous;
01306 else
01307 goto homogeneous;
01308 else
01309 goto homogeneous;
01310 else
01311 if (p[offset10] < c_b)
01312 if (p[offset11] < c_b)
01313 if (p[offset1] < c_b)
01314 goto success_homogeneous;
01315 else
01316 if (p[offset6] < c_b)
01317 goto success_homogeneous;
01318 else
01319 goto homogeneous;
01320 else
01321 goto homogeneous;
01322 else
01323 goto homogeneous;
01324 else
01325 goto homogeneous;
01326 else
01327 goto homogeneous;
01328 else
01329 goto homogeneous;
01330 else
01331 if (p[offset5] > cb)
01332 if (p[offset7] > cb)
01333 if (p[offset9] > cb)
01334 if (p[offset6] > cb)
01335 if (p[offset4] > cb)
01336 if (p[offset3] > cb)
01337 if (p[offset8] > cb)
01338 goto success_homogeneous;
01339 else
01340 if (p[offset1] > cb)
01341 if (p[offset2] > cb)
01342 goto success_homogeneous;
01343 else
01344 goto homogeneous;
01345 else
01346 goto homogeneous;
01347 else
01348 if (p[offset8] > cb)
01349 if (p[offset10] > cb)
01350 goto success_homogeneous;
01351 else
01352 goto homogeneous;
01353 else
01354 goto homogeneous;
01355 else
01356 if (p[offset11] > cb)
01357 if (p[offset8] > cb)
01358 if (p[offset10] > cb)
01359 goto success_homogeneous;
01360 else
01361 goto homogeneous;
01362 else
01363 goto homogeneous;
01364 else
01365 goto homogeneous;
01366 else
01367 goto homogeneous;
01368 else
01369 if (p[offset2] > cb)
01370 if (p[offset3] > cb)
01371 if (p[offset4] > cb)
01372 if (p[offset1] > cb)
01373 if (p[offset6] > cb)
01374 goto success_homogeneous;
01375 else
01376 goto homogeneous;
01377 else
01378 if (p[offset6] > cb)
01379 if (p[offset8] > cb)
01380 goto success_homogeneous;
01381 else
01382 goto homogeneous;
01383 else
01384 goto homogeneous;
01385 else
01386 goto homogeneous;
01387 else
01388 goto homogeneous;
01389 else
01390 goto homogeneous;
01391 else
01392 goto homogeneous;
01393 else
01394 if (p[offset5] < c_b)
01395 if (p[offset7] < c_b)
01396 if (p[offset9] < c_b)
01397 if (p[offset6] < c_b)
01398 if (p[offset4] < c_b)
01399 if (p[offset3] < c_b)
01400 if (p[offset8] < c_b)
01401 goto success_homogeneous;
01402 else
01403 if (p[offset1] < c_b)
01404 if (p[offset2] < c_b)
01405 goto success_homogeneous;
01406 else
01407 goto homogeneous;
01408 else
01409 goto homogeneous;
01410 else
01411 if (p[offset8] < c_b)
01412 if (p[offset10] < c_b)
01413 goto success_homogeneous;
01414 else
01415 goto homogeneous;
01416 else
01417 goto homogeneous;
01418 else
01419 if (p[offset11] < c_b)
01420 if (p[offset8] < c_b)
01421 if (p[offset10] < c_b)
01422 goto success_homogeneous;
01423 else
01424 goto homogeneous;
01425 else
01426 goto homogeneous;
01427 else
01428 goto homogeneous;
01429 else
01430 goto homogeneous;
01431 else
01432 if (p[offset2] < c_b)
01433 if (p[offset3] < c_b)
01434 if (p[offset4] < c_b)
01435 if (p[offset1] < c_b)
01436 if (p[offset6] < c_b)
01437 goto success_homogeneous;
01438 else
01439 goto homogeneous;
01440 else
01441 if (p[offset6] < c_b)
01442 if (p[offset8] < c_b)
01443 goto success_homogeneous;
01444 else
01445 goto homogeneous;
01446 else
01447 goto homogeneous;
01448 else
01449 goto homogeneous;
01450 else
01451 goto homogeneous;
01452 else
01453 goto homogeneous;
01454 else
01455 goto homogeneous;
01456 else
01457 goto homogeneous;
01458 }
01459 }
01460 structured:
01461 {
01462 x++;
01463 if (x > width_b)
01464 break;
01465 else
01466 {
01467 register const T1* const p = im + y * width + x;
01468 register const T2 cb = *p + T2 (threshold);
01469 register const T2 c_b = *p - T2 (threshold);
01470 if (p[offset0] > cb)
01471 if (p[offset2] > cb)
01472 if (p[offset5] > cb)
01473 if (p[offset9] > cb)
01474 if (p[offset7] > cb)
01475 if (p[offset1] > cb)
01476 if (p[offset6] > cb)
01477 if (p[offset3] > cb)
01478 if (p[offset4] > cb)
01479 goto success_structured;
01480 else
01481 if (p[offset10] > cb)
01482 if (p[offset11] > cb)
01483 goto success_structured;
01484 else
01485 goto structured;
01486 else
01487 goto structured;
01488 else
01489 if (p[offset8] > cb)
01490 if (p[offset10] > cb)
01491 if (p[offset4] > cb)
01492 goto success_structured;
01493 else
01494 if (p[offset11] > cb)
01495 goto success_structured;
01496 else
01497 goto structured;
01498 else
01499 goto structured;
01500 else
01501 goto structured;
01502 else
01503 if (p[offset11] > cb)
01504 if (p[offset3] > cb)
01505 if (p[offset4] > cb)
01506 goto success_structured;
01507 else
01508 if (p[offset10] > cb)
01509 goto success_structured;
01510 else
01511 goto structured;
01512 else
01513 if (p[offset8] > cb)
01514 if (p[offset10] > cb)
01515 goto success_structured;
01516 else
01517 goto structured;
01518 else
01519 goto structured;
01520 else
01521 goto structured;
01522 else
01523 if (p[offset6] > cb)
01524 if (p[offset8] > cb)
01525 if (p[offset4] > cb)
01526 if (p[offset3] > cb)
01527 goto success_structured;
01528 else
01529 if (p[offset10] > cb)
01530 goto success_structured;
01531 else
01532 goto structured;
01533 else
01534 if (p[offset10] > cb)
01535 if (p[offset11] > cb)
01536 goto success_structured;
01537 else
01538 goto structured;
01539 else
01540 goto structured;
01541 else
01542 goto structured;
01543 else
01544 goto structured;
01545 else
01546 if (p[offset1] > cb)
01547 if (p[offset11] > cb)
01548 if (p[offset3] > cb)
01549 if (p[offset4] > cb)
01550 goto success_structured;
01551 else
01552 if (p[offset10] > cb)
01553 goto success_structured;
01554 else
01555 goto structured;
01556 else
01557 if (p[offset8] > cb)
01558 if (p[offset10] > cb)
01559 goto success_structured;
01560 else
01561 goto structured;
01562 else
01563 goto structured;
01564 else
01565 if (p[offset6] > cb)
01566 if (p[offset3] > cb)
01567 if (p[offset4] > cb)
01568 goto success_structured;
01569 else
01570 goto structured;
01571 else
01572 goto structured;
01573 else
01574 goto structured;
01575 else
01576 goto structured;
01577 else
01578 if (p[offset3] > cb)
01579 if (p[offset4] > cb)
01580 if (p[offset7] > cb)
01581 if (p[offset1] > cb)
01582 if (p[offset6] > cb)
01583 goto success_structured;
01584 else
01585 if (p[offset11] > cb)
01586 goto success_structured;
01587 else
01588 goto structured;
01589 else
01590 if (p[offset6] > cb)
01591 if (p[offset8] > cb)
01592 goto success_structured;
01593 else
01594 goto structured;
01595 else
01596 goto structured;
01597 else
01598 if (p[offset1] > cb)
01599 if (p[offset6] > cb)
01600 goto success_structured;
01601 else
01602 if (p[offset11] > cb)
01603 goto success_structured;
01604 else
01605 goto structured;
01606 else
01607 goto structured;
01608 else
01609 goto structured;
01610 else
01611 goto structured;
01612 else
01613 if (p[offset7] < c_b)
01614 if (p[offset9] < c_b)
01615 if (p[offset5] < c_b)
01616 if (p[offset1] > cb)
01617 if (p[offset4] > cb)
01618 if (p[offset10] > cb)
01619 if (p[offset3] > cb)
01620 if (p[offset11] > cb)
01621 goto success_structured;
01622 else
01623 goto structured;
01624 else
01625 goto structured;
01626 else
01627 if (p[offset6] < c_b)
01628 if (p[offset8] < c_b)
01629 if (p[offset11] < c_b)
01630 if (p[offset10] < c_b)
01631 goto success_structured;
01632 else
01633 goto structured;
01634 else
01635 goto structured;
01636 else
01637 goto structured;
01638 else
01639 goto structured;
01640 else
01641 if (p[offset6] < c_b)
01642 if (p[offset8] < c_b)
01643 if (p[offset10] < c_b)
01644 if (p[offset4] < c_b)
01645 goto success_structured;
01646 else
01647 if (p[offset11] < c_b)
01648 goto success_structured;
01649 else
01650 goto structured;
01651 else
01652 if (p[offset3] < c_b)
01653 if (p[offset4] < c_b)
01654 goto success_structured;
01655 else
01656 goto structured;
01657 else
01658 goto structured;
01659 else
01660 goto structured;
01661 else
01662 goto structured;
01663 else
01664 if (p[offset6] < c_b)
01665 if (p[offset8] < c_b)
01666 if (p[offset4] < c_b)
01667 if (p[offset3] < c_b)
01668 goto success_structured;
01669 else
01670 if (p[offset10] < c_b)
01671 goto success_structured;
01672 else
01673 goto structured;
01674 else
01675 if (p[offset10] < c_b)
01676 if (p[offset11] < c_b)
01677 goto success_structured;
01678 else
01679 goto structured;
01680 else
01681 goto structured;
01682 else
01683 goto structured;
01684 else
01685 goto structured;
01686 else
01687 if (p[offset1] > cb)
01688 if (p[offset3] > cb)
01689 if (p[offset4] > cb)
01690 if (p[offset10] > cb)
01691 if (p[offset11] > cb)
01692 goto success_structured;
01693 else
01694 goto structured;
01695 else
01696 goto structured;
01697 else
01698 goto structured;
01699 else
01700 goto structured;
01701 else
01702 goto structured;
01703 else
01704 if (p[offset10] > cb)
01705 if (p[offset11] > cb)
01706 if (p[offset9] > cb)
01707 if (p[offset1] > cb)
01708 if (p[offset3] > cb)
01709 goto success_structured;
01710 else
01711 if (p[offset8] > cb)
01712 goto success_structured;
01713 else
01714 goto structured;
01715 else
01716 goto structured;
01717 else
01718 if (p[offset1] > cb)
01719 if (p[offset3] > cb)
01720 if (p[offset4] > cb)
01721 goto success_structured;
01722 else
01723 goto structured;
01724 else
01725 goto structured;
01726 else
01727 goto structured;
01728 else
01729 goto structured;
01730 else
01731 goto structured;
01732 else
01733 if (p[offset10] > cb)
01734 if (p[offset11] > cb)
01735 if (p[offset9] > cb)
01736 if (p[offset1] > cb)
01737 if (p[offset3] > cb)
01738 goto success_structured;
01739 else
01740 if (p[offset8] > cb)
01741 goto success_structured;
01742 else
01743 goto structured;
01744 else
01745 if (p[offset6] > cb)
01746 if (p[offset8] > cb)
01747 if (p[offset7] > cb)
01748 goto success_structured;
01749 else
01750 goto structured;
01751 else
01752 goto structured;
01753 else
01754 goto structured;
01755 else
01756 if (p[offset1] > cb)
01757 if (p[offset3] > cb)
01758 if (p[offset4] > cb)
01759 goto success_structured;
01760 else
01761 goto structured;
01762 else
01763 goto structured;
01764 else
01765 goto structured;
01766 else
01767 goto structured;
01768 else
01769 goto structured;
01770 else
01771 if (p[offset7] > cb)
01772 if (p[offset9] > cb)
01773 if (p[offset8] > cb)
01774 if (p[offset5] > cb)
01775 if (p[offset1] > cb)
01776 if (p[offset10] > cb)
01777 if (p[offset11] > cb)
01778 goto success_structured;
01779 else
01780 if (p[offset6] > cb)
01781 if (p[offset4] > cb)
01782 goto success_structured;
01783 else
01784 goto structured;
01785 else
01786 goto structured;
01787 else
01788 if (p[offset6] > cb)
01789 if (p[offset3] > cb)
01790 if (p[offset4] > cb)
01791 goto success_structured;
01792 else
01793 goto structured;
01794 else
01795 goto structured;
01796 else
01797 goto structured;
01798 else
01799 if (p[offset6] > cb)
01800 if (p[offset4] > cb)
01801 if (p[offset3] > cb)
01802 goto success_structured;
01803 else
01804 if (p[offset10] > cb)
01805 goto success_structured;
01806 else
01807 goto structured;
01808 else
01809 if (p[offset10] > cb)
01810 if (p[offset11] > cb)
01811 goto success_structured;
01812 else
01813 goto structured;
01814 else
01815 goto structured;
01816 else
01817 goto structured;
01818 else
01819 if (p[offset10] > cb)
01820 if (p[offset11] > cb)
01821 if (p[offset1] > cb)
01822 goto success_structured;
01823 else
01824 if (p[offset6] > cb)
01825 goto success_structured;
01826 else
01827 goto structured;
01828 else
01829 goto structured;
01830 else
01831 goto structured;
01832 else
01833 goto structured;
01834 else
01835 goto structured;
01836 else
01837 if (p[offset7] < c_b)
01838 if (p[offset5] < c_b)
01839 if (p[offset2] < c_b)
01840 if (p[offset6] < c_b)
01841 if (p[offset4] < c_b)
01842 if (p[offset3] < c_b)
01843 if (p[offset1] < c_b)
01844 goto success_structured;
01845 else
01846 if (p[offset8] < c_b)
01847 goto success_structured;
01848 else
01849 goto structured;
01850 else
01851 if (p[offset9] < c_b)
01852 if (p[offset8] < c_b)
01853 if (p[offset10] < c_b)
01854 goto success_structured;
01855 else
01856 goto structured;
01857 else
01858 goto structured;
01859 else
01860 goto structured;
01861 else
01862 if (p[offset9] < c_b)
01863 if (p[offset8] < c_b)
01864 if (p[offset10] < c_b)
01865 if (p[offset11] < c_b)
01866 goto success_structured;
01867 else
01868 goto structured;
01869 else
01870 goto structured;
01871 else
01872 goto structured;
01873 else
01874 goto structured;
01875 else
01876 goto structured;
01877 else
01878 if (p[offset9] < c_b)
01879 if (p[offset6] < c_b)
01880 if (p[offset8] < c_b)
01881 if (p[offset4] < c_b)
01882 if (p[offset3] < c_b)
01883 goto success_structured;
01884 else
01885 if (p[offset10] < c_b)
01886 goto success_structured;
01887 else
01888 goto structured;
01889 else
01890 if (p[offset10] < c_b)
01891 if (p[offset11] < c_b)
01892 goto success_structured;
01893 else
01894 goto structured;
01895 else
01896 goto structured;
01897 else
01898 goto structured;
01899 else
01900 goto structured;
01901 else
01902 goto structured;
01903 else
01904 goto structured;
01905 else
01906 goto structured;
01907 else if (p[offset0] < c_b)
01908 if (p[offset2] < c_b)
01909 if (p[offset11] < c_b)
01910 if (p[offset3] < c_b)
01911 if (p[offset5] < c_b)
01912 if (p[offset9] < c_b)
01913 if (p[offset7] < c_b)
01914 if (p[offset1] < c_b)
01915 if (p[offset4] < c_b)
01916 goto success_structured;
01917 else
01918 if (p[offset10] < c_b)
01919 goto success_structured;
01920 else
01921 goto structured;
01922 else
01923 if (p[offset6] < c_b)
01924 if (p[offset8] < c_b)
01925 if (p[offset4] < c_b)
01926 goto success_structured;
01927 else
01928 if (p[offset10] < c_b)
01929 goto success_structured;
01930 else
01931 goto structured;
01932 else
01933 goto structured;
01934 else
01935 goto structured;
01936 else
01937 if (p[offset1] < c_b)
01938 if (p[offset4] < c_b)
01939 goto success_structured;
01940 else
01941 if (p[offset10] < c_b)
01942 goto success_structured;
01943 else
01944 goto structured;
01945 else
01946 goto structured;
01947 else
01948 if (p[offset4] < c_b)
01949 if (p[offset7] < c_b)
01950 if (p[offset1] < c_b)
01951 goto success_structured;
01952 else
01953 if (p[offset6] < c_b)
01954 if (p[offset8] < c_b)
01955 goto success_structured;
01956 else
01957 goto structured;
01958 else
01959 goto structured;
01960 else
01961 if (p[offset1] < c_b)
01962 goto success_structured;
01963 else
01964 goto structured;
01965 else
01966 goto structured;
01967 else
01968 if (p[offset10] < c_b)
01969 if (p[offset9] < c_b)
01970 if (p[offset7] < c_b)
01971 if (p[offset1] < c_b)
01972 goto success_structured;
01973 else
01974 if (p[offset6] < c_b)
01975 if (p[offset8] < c_b)
01976 goto success_structured;
01977 else
01978 goto structured;
01979 else
01980 goto structured;
01981 else
01982 if (p[offset1] < c_b)
01983 goto success_structured;
01984 else
01985 goto structured;
01986 else
01987 if (p[offset1] < c_b)
01988 if (p[offset4] < c_b)
01989 goto success_structured;
01990 else
01991 goto structured;
01992 else
01993 goto structured;
01994 else
01995 if (p[offset7] > cb)
01996 if (p[offset9] > cb)
01997 if (p[offset5] > cb)
01998 if (p[offset4] > cb)
01999 if (p[offset6] > cb)
02000 if (p[offset8] > cb)
02001 if (p[offset10] > cb)
02002 goto success_structured;
02003 else
02004 goto structured;
02005 else
02006 goto structured;
02007 else
02008 goto structured;
02009 else
02010 goto structured;
02011 else
02012 goto structured;
02013 else
02014 goto structured;
02015 else
02016 goto structured;
02017 else
02018 if (p[offset9] < c_b)
02019 if (p[offset8] < c_b)
02020 if (p[offset10] < c_b)
02021 if (p[offset7] < c_b)
02022 if (p[offset1] < c_b)
02023 goto success_structured;
02024 else
02025 if (p[offset6] < c_b)
02026 goto success_structured;
02027 else
02028 goto structured;
02029 else
02030 if (p[offset1] < c_b)
02031 goto success_structured;
02032 else
02033 goto structured;
02034 else
02035 goto structured;
02036 else
02037 goto structured;
02038 else
02039 if (p[offset5] > cb)
02040 if (p[offset7] > cb)
02041 if (p[offset9] > cb)
02042 if (p[offset4] > cb)
02043 if (p[offset6] > cb)
02044 if (p[offset8] > cb)
02045 if (p[offset3] > cb)
02046 goto success_structured;
02047 else
02048 if (p[offset10] > cb)
02049 goto success_structured;
02050 else
02051 goto structured;
02052 else
02053 goto structured;
02054 else
02055 goto structured;
02056 else
02057 goto structured;
02058 else
02059 goto structured;
02060 else
02061 goto structured;
02062 else
02063 goto structured;
02064 else
02065 if (p[offset4] < c_b)
02066 if (p[offset5] < c_b)
02067 if (p[offset7] < c_b)
02068 if (p[offset6] < c_b)
02069 if (p[offset3] < c_b)
02070 if (p[offset1] < c_b)
02071 goto success_structured;
02072 else
02073 if (p[offset8] < c_b)
02074 goto success_structured;
02075 else
02076 goto structured;
02077 else
02078 if (p[offset9] < c_b)
02079 if (p[offset8] < c_b)
02080 if (p[offset10] < c_b)
02081 goto success_structured;
02082 else
02083 goto structured;
02084 else
02085 goto structured;
02086 else
02087 goto structured;
02088 else
02089 goto structured;
02090 else
02091 if (p[offset1] < c_b)
02092 if (p[offset6] < c_b)
02093 if (p[offset3] < c_b)
02094 goto success_structured;
02095 else
02096 goto structured;
02097 else
02098 goto structured;
02099 else
02100 goto structured;
02101 else
02102 if (p[offset7] > cb)
02103 if (p[offset9] > cb)
02104 if (p[offset5] > cb)
02105 if (p[offset6] > cb)
02106 if (p[offset8] > cb)
02107 if (p[offset10] > cb)
02108 if (p[offset11] > cb)
02109 goto success_structured;
02110 else
02111 goto structured;
02112 else
02113 goto structured;
02114 else
02115 goto structured;
02116 else
02117 goto structured;
02118 else
02119 goto structured;
02120 else
02121 goto structured;
02122 else
02123 goto structured;
02124 else
02125 if (p[offset5] > cb)
02126 if (p[offset7] > cb)
02127 if (p[offset9] > cb)
02128 if (p[offset6] > cb)
02129 if (p[offset8] > cb)
02130 if (p[offset10] > cb)
02131 if (p[offset4] > cb)
02132 goto success_structured;
02133 else
02134 if (p[offset11] > cb)
02135 goto success_structured;
02136 else
02137 goto homogeneous;
02138 else
02139 if (p[offset3] > cb)
02140 if (p[offset4] > cb)
02141 goto success_structured;
02142 else
02143 goto structured;
02144 else
02145 goto structured;
02146 else
02147 goto structured;
02148 else
02149 goto structured;
02150 else
02151 goto structured;
02152 else
02153 goto structured;
02154 else
02155 goto structured;
02156 else
02157 if (p[offset7] > cb)
02158 if (p[offset5] > cb)
02159 if (p[offset2] > cb)
02160 if (p[offset6] > cb)
02161 if (p[offset4] > cb)
02162 if (p[offset3] > cb)
02163 if (p[offset1] > cb)
02164 goto success_structured;
02165 else
02166 if (p[offset8] > cb)
02167 goto success_structured;
02168 else
02169 goto structured;
02170 else
02171 if (p[offset9] > cb)
02172 if (p[offset8] > cb)
02173 if (p[offset10] > cb)
02174 goto success_structured;
02175 else
02176 goto structured;
02177 else
02178 goto structured;
02179 else
02180 goto structured;
02181 else
02182 if (p[offset9] > cb)
02183 if (p[offset8] > cb)
02184 if (p[offset10] > cb)
02185 if (p[offset11] > cb)
02186 goto success_structured;
02187 else
02188 goto structured;
02189 else
02190 goto structured;
02191 else
02192 goto structured;
02193 else
02194 goto structured;
02195 else
02196 goto structured;
02197 else
02198 if (p[offset9] > cb)
02199 if (p[offset6] > cb)
02200 if (p[offset8] > cb)
02201 if (p[offset4] > cb)
02202 if (p[offset3] > cb)
02203 goto success_structured;
02204 else
02205 if (p[offset10] > cb)
02206 goto success_structured;
02207 else
02208 goto structured;
02209 else
02210 if (p[offset10] > cb)
02211 if (p[offset11] > cb)
02212 goto success_structured;
02213 else
02214 goto structured;
02215 else
02216 goto structured;
02217 else
02218 goto structured;
02219 else
02220 goto structured;
02221 else
02222 goto structured;
02223 else
02224 goto structured;
02225 else
02226 if (p[offset7] < c_b)
02227 if (p[offset9] < c_b)
02228 if (p[offset8] < c_b)
02229 if (p[offset5] < c_b)
02230 if (p[offset1] < c_b)
02231 if (p[offset10] < c_b)
02232 if (p[offset11] < c_b)
02233 goto success_structured;
02234 else
02235 if (p[offset6] < c_b)
02236 if (p[offset4] < c_b)
02237 goto success_structured;
02238 else
02239 goto structured;
02240 else
02241 goto structured;
02242 else
02243 if (p[offset6] < c_b)
02244 if (p[offset3] < c_b)
02245 if (p[offset4] < c_b)
02246 goto success_structured;
02247 else
02248 goto structured;
02249 else
02250 goto structured;
02251 else
02252 goto structured;
02253 else
02254 if (p[offset6] < c_b)
02255 if (p[offset4] < c_b)
02256 if (p[offset3] < c_b)
02257 goto success_structured;
02258 else
02259 if (p[offset10] < c_b)
02260 goto success_structured;
02261 else
02262 goto structured;
02263 else
02264 if (p[offset10] < c_b)
02265 if (p[offset11] < c_b)
02266 goto success_structured;
02267 else
02268 goto structured;
02269 else
02270 goto structured;
02271 else
02272 goto structured;
02273 else
02274 if (p[offset10] < c_b)
02275 if (p[offset11] < c_b)
02276 if (p[offset1] < c_b)
02277 goto success_structured;
02278 else
02279 if (p[offset6] < c_b)
02280 goto success_structured;
02281 else
02282 goto structured;
02283 else
02284 goto structured;
02285 else
02286 goto structured;
02287 else
02288 goto structured;
02289 else
02290 goto structured;
02291 else
02292 goto structured;
02293 else
02294 if (p[offset5] > cb)
02295 if (p[offset7] > cb)
02296 if (p[offset9] > cb)
02297 if (p[offset6] > cb)
02298 if (p[offset4] > cb)
02299 if (p[offset3] > cb)
02300 if (p[offset8] > cb)
02301 goto success_structured;
02302 else
02303 if (p[offset1] > cb)
02304 if (p[offset2] > cb)
02305 goto success_structured;
02306 else
02307 goto structured;
02308 else
02309 goto structured;
02310 else
02311 if (p[offset8] > cb)
02312 if (p[offset10] > cb)
02313 goto success_structured;
02314 else
02315 goto structured;
02316 else
02317 goto structured;
02318 else
02319 if (p[offset11] > cb)
02320 if (p[offset8] > cb)
02321 if (p[offset10] > cb)
02322 goto success_structured;
02323 else
02324 goto structured;
02325 else
02326 goto structured;
02327 else
02328 goto structured;
02329 else
02330 goto structured;
02331 else
02332 if (p[offset2] > cb)
02333 if (p[offset3] > cb)
02334 if (p[offset4] > cb)
02335 if (p[offset1] > cb)
02336 if (p[offset6] > cb)
02337 goto success_structured;
02338 else
02339 goto structured;
02340 else
02341 if (p[offset6] > cb)
02342 if (p[offset8] > cb)
02343 goto success_structured;
02344 else
02345 goto structured;
02346 else
02347 goto structured;
02348 else
02349 goto structured;
02350 else
02351 goto structured;
02352 else
02353 goto structured;
02354 else
02355 goto structured;
02356 else
02357 if (p[offset5] < c_b)
02358 if (p[offset7] < c_b)
02359 if (p[offset9] < c_b)
02360 if (p[offset6] < c_b)
02361 if (p[offset4] < c_b)
02362 if (p[offset3] < c_b)
02363 if (p[offset8] < c_b)
02364 goto success_structured;
02365 else
02366 if (p[offset1] < c_b)
02367 if (p[offset2] < c_b)
02368 goto success_structured;
02369 else
02370 goto structured;
02371 else
02372 goto structured;
02373 else
02374 if (p[offset8] < c_b)
02375 if (p[offset10] < c_b)
02376 goto success_structured;
02377 else
02378 goto structured;
02379 else
02380 goto structured;
02381 else
02382 if (p[offset11] < c_b)
02383 if (p[offset8] < c_b)
02384 if (p[offset10] < c_b)
02385 goto success_structured;
02386 else
02387 goto structured;
02388 else
02389 goto structured;
02390 else
02391 goto structured;
02392 else
02393 goto structured;
02394 else
02395 if (p[offset2] < c_b)
02396 if (p[offset3] < c_b)
02397 if (p[offset4] < c_b)
02398 if (p[offset1] < c_b)
02399 if (p[offset6] < c_b)
02400 goto success_structured;
02401 else
02402 goto structured;
02403 else
02404 if (p[offset6] < c_b)
02405 if (p[offset8] < c_b)
02406 goto success_structured;
02407 else
02408 goto structured;
02409 else
02410 goto structured;
02411 else
02412 goto structured;
02413 else
02414 goto structured;
02415 else
02416 goto structured;
02417 else
02418 goto structured;
02419 else
02420 goto homogeneous;
02421 }
02422 }
02423 success_homogeneous:
02424 if (total == n_expected_corners)
02425 {
02426 if (n_expected_corners == 0)
02427 {
02428 n_expected_corners = 512;
02429 corners.reserve (n_expected_corners);
02430 }
02431 else
02432 {
02433 n_expected_corners *= 2;
02434 corners.reserve (n_expected_corners);
02435 }
02436 }
02437 h.u = float (x);
02438 h.v = float (y);
02439 corners.push_back (h);
02440 total++;
02441 goto homogeneous;
02442 success_structured:
02443 if (total == n_expected_corners)
02444 {
02445 if (n_expected_corners == 0)
02446 {
02447 n_expected_corners = 512;
02448 corners.reserve (n_expected_corners);
02449 }
02450 else
02451 {
02452 n_expected_corners *= 2;
02453 corners.reserve (n_expected_corners);
02454 }
02455 }
02456 h.u = float (x);
02457 h.v = float (y);
02458 corners.push_back (h);
02459 total++;
02460 goto structured;
02461 }
02462 }
02463 }
02464
02466
02467 template <typename T1, typename T2> int
02468 AgastDetector7_12s_computeCornerScore (
02469 const T1* p,
02470 double im_bmax,
02471 double score_threshold,
02472 int_fast16_t s_offset0,
02473 int_fast16_t s_offset1,
02474 int_fast16_t s_offset2,
02475 int_fast16_t s_offset3,
02476 int_fast16_t s_offset4,
02477 int_fast16_t s_offset5,
02478 int_fast16_t s_offset6,
02479 int_fast16_t s_offset7,
02480 int_fast16_t s_offset8,
02481 int_fast16_t s_offset9,
02482 int_fast16_t s_offset10,
02483 int_fast16_t s_offset11)
02484 {
02485 T2 bmin = T2 (score_threshold);
02486 T2 bmax = T2 (im_bmax);
02487 int b_test = int ((bmax + bmin) / 2);
02488
02489 register int_fast16_t offset0 = s_offset0;
02490 register int_fast16_t offset1 = s_offset1;
02491 register int_fast16_t offset2 = s_offset2;
02492 register int_fast16_t offset3 = s_offset3;
02493 register int_fast16_t offset4 = s_offset4;
02494 register int_fast16_t offset5 = s_offset5;
02495 register int_fast16_t offset6 = s_offset6;
02496 register int_fast16_t offset7 = s_offset7;
02497 register int_fast16_t offset8 = s_offset8;
02498 register int_fast16_t offset9 = s_offset9;
02499 register int_fast16_t offset10 = s_offset10;
02500 register int_fast16_t offset11 = s_offset11;
02501
02502 while (1)
02503 {
02504 register const T2 cb = *p + T2 (b_test);
02505 register const T2 c_b = *p - T2 (b_test);
02506 if (p[offset0] > cb)
02507 if (p[offset5] > cb)
02508 if (p[offset2] < c_b)
02509 if (p[offset7] > cb)
02510 if (p[offset9] < c_b)
02511 goto is_not_a_corner;
02512 else
02513 if (p[offset9] > cb)
02514 if (p[offset1] < c_b)
02515 if (p[offset6] < c_b)
02516 goto is_not_a_corner;
02517 else
02518 if (p[offset6] > cb)
02519 if (p[offset8] > cb)
02520 if (p[offset4] > cb)
02521 if (p[offset3] > cb)
02522 goto is_a_corner;
02523 else
02524 if (p[offset10] > cb)
02525 goto is_a_corner;
02526 else
02527 goto is_not_a_corner;
02528 else
02529 if (p[offset10] > cb)
02530 if (p[offset11] > cb)
02531 goto is_a_corner;
02532 else
02533 goto is_not_a_corner;
02534 else
02535 goto is_not_a_corner;
02536 else
02537 goto is_not_a_corner;
02538 else
02539 goto is_not_a_corner;
02540 else
02541 if (p[offset1] > cb)
02542 if (p[offset6] < c_b)
02543 if (p[offset8] > cb)
02544 if (p[offset10] > cb)
02545 if (p[offset11] > cb)
02546 goto is_a_corner;
02547 else
02548 goto is_not_a_corner;
02549 else
02550 goto is_not_a_corner;
02551 else
02552 goto is_not_a_corner;
02553 else
02554 if (p[offset6] > cb)
02555 if (p[offset8] > cb)
02556 if (p[offset4] > cb)
02557 if (p[offset3] > cb)
02558 goto is_a_corner;
02559 else
02560 if (p[offset10] > cb)
02561 goto is_a_corner;
02562 else
02563 goto is_not_a_corner;
02564 else
02565 if (p[offset10] > cb)
02566 if (p[offset11] > cb)
02567 goto is_a_corner;
02568 else
02569 goto is_not_a_corner;
02570 else
02571 goto is_not_a_corner;
02572 else
02573 goto is_not_a_corner;
02574 else
02575 if (p[offset8] > cb)
02576 if (p[offset10] > cb)
02577 if (p[offset11] > cb)
02578 goto is_a_corner;
02579 else
02580 goto is_not_a_corner;
02581 else
02582 goto is_not_a_corner;
02583 else
02584 goto is_not_a_corner;
02585 else
02586 if (p[offset6] < c_b)
02587 goto is_not_a_corner;
02588 else
02589 if (p[offset6] > cb)
02590 if (p[offset8] > cb)
02591 if (p[offset4] > cb)
02592 if (p[offset3] > cb)
02593 goto is_a_corner;
02594 else
02595 if (p[offset10] > cb)
02596 goto is_a_corner;
02597 else
02598 goto is_not_a_corner;
02599 else
02600 if (p[offset10] > cb)
02601 if (p[offset11] > cb)
02602 goto is_a_corner;
02603 else
02604 goto is_not_a_corner;
02605 else
02606 goto is_not_a_corner;
02607 else
02608 goto is_not_a_corner;
02609 else
02610 goto is_not_a_corner;
02611 else
02612 goto is_not_a_corner;
02613 else
02614 goto is_not_a_corner;
02615 else
02616 if (p[offset2] > cb)
02617 if (p[offset7] < c_b)
02618 if (p[offset9] < c_b)
02619 if (p[offset1] < c_b)
02620 goto is_not_a_corner;
02621 else
02622 if (p[offset1] > cb)
02623 if (p[offset6] > cb)
02624 if (p[offset3] > cb)
02625 if (p[offset4] > cb)
02626 goto is_a_corner;
02627 else
02628 goto is_not_a_corner;
02629 else
02630 goto is_not_a_corner;
02631 else
02632 if (p[offset6] < c_b)
02633 if (p[offset3] > cb)
02634 if (p[offset4] > cb)
02635 if (p[offset11] > cb)
02636 goto is_a_corner;
02637 else
02638 goto is_not_a_corner;
02639 else
02640 goto is_not_a_corner;
02641 else
02642 goto is_not_a_corner;
02643 else
02644 if (p[offset3] > cb)
02645 if (p[offset4] > cb)
02646 if (p[offset11] > cb)
02647 goto is_a_corner;
02648 else
02649 goto is_not_a_corner;
02650 else
02651 goto is_not_a_corner;
02652 else
02653 goto is_not_a_corner;
02654 else
02655 goto is_not_a_corner;
02656 else
02657 if (p[offset9] > cb)
02658 if (p[offset1] < c_b)
02659 goto is_not_a_corner;
02660 else
02661 if (p[offset1] > cb)
02662 if (p[offset6] < c_b)
02663 if (p[offset11] > cb)
02664 if (p[offset3] > cb)
02665 if (p[offset4] > cb)
02666 goto is_a_corner;
02667 else
02668 if (p[offset10] > cb)
02669 goto is_a_corner;
02670 else
02671 goto is_not_a_corner;
02672 else
02673 if (p[offset8] > cb)
02674 if (p[offset10] > cb)
02675 goto is_a_corner;
02676 else
02677 goto is_not_a_corner;
02678 else
02679 goto is_not_a_corner;
02680 else
02681 goto is_not_a_corner;
02682 else
02683 if (p[offset6] > cb)
02684 if (p[offset3] > cb)
02685 if (p[offset4] > cb)
02686 goto is_a_corner;
02687 else
02688 if (p[offset10] > cb)
02689 if (p[offset11] > cb)
02690 goto is_a_corner;
02691 else
02692 goto is_not_a_corner;
02693 else
02694 goto is_not_a_corner;
02695 else
02696 if (p[offset8] > cb)
02697 if (p[offset10] > cb)
02698 if (p[offset11] > cb)
02699 goto is_a_corner;
02700 else
02701 goto is_not_a_corner;
02702 else
02703 goto is_not_a_corner;
02704 else
02705 goto is_not_a_corner;
02706 else
02707 if (p[offset11] > cb)
02708 if (p[offset3] > cb)
02709 if (p[offset4] > cb)
02710 goto is_a_corner;
02711 else
02712 if (p[offset10] > cb)
02713 goto is_a_corner;
02714 else
02715 goto is_not_a_corner;
02716 else
02717 if (p[offset8] > cb)
02718 if (p[offset10] > cb)
02719 goto is_a_corner;
02720 else
02721 goto is_not_a_corner;
02722 else
02723 goto is_not_a_corner;
02724 else
02725 goto is_not_a_corner;
02726 else
02727 goto is_not_a_corner;
02728 else
02729 if (p[offset1] < c_b)
02730 goto is_not_a_corner;
02731 else
02732 if (p[offset1] > cb)
02733 if (p[offset6] > cb)
02734 if (p[offset3] > cb)
02735 if (p[offset4] > cb)
02736 goto is_a_corner;
02737 else
02738 goto is_not_a_corner;
02739 else
02740 goto is_not_a_corner;
02741 else
02742 if (p[offset6] < c_b)
02743 if (p[offset3] > cb)
02744 if (p[offset4] > cb)
02745 if (p[offset11] > cb)
02746 goto is_a_corner;
02747 else
02748 goto is_not_a_corner;
02749 else
02750 goto is_not_a_corner;
02751 else
02752 goto is_not_a_corner;
02753 else
02754 if (p[offset3] > cb)
02755 if (p[offset4] > cb)
02756 if (p[offset11] > cb)
02757 goto is_a_corner;
02758 else
02759 goto is_not_a_corner;
02760 else
02761 goto is_not_a_corner;
02762 else
02763 goto is_not_a_corner;
02764 else
02765 goto is_not_a_corner;
02766 else
02767 if (p[offset9] < c_b)
02768 if (p[offset7] > cb)
02769 if (p[offset1] < c_b)
02770 if (p[offset6] < c_b)
02771 goto is_not_a_corner;
02772 else
02773 if (p[offset6] > cb)
02774 if (p[offset3] > cb)
02775 if (p[offset4] > cb)
02776 if (p[offset8] > cb)
02777 goto is_a_corner;
02778 else
02779 goto is_not_a_corner;
02780 else
02781 goto is_not_a_corner;
02782 else
02783 goto is_not_a_corner;
02784 else
02785 goto is_not_a_corner;
02786 else
02787 if (p[offset1] > cb)
02788 if (p[offset6] > cb)
02789 if (p[offset3] > cb)
02790 if (p[offset4] > cb)
02791 goto is_a_corner;
02792 else
02793 goto is_not_a_corner;
02794 else
02795 goto is_not_a_corner;
02796 else
02797 if (p[offset6] < c_b)
02798 if (p[offset3] > cb)
02799 if (p[offset4] > cb)
02800 if (p[offset11] > cb)
02801 goto is_a_corner;
02802 else
02803 goto is_not_a_corner;
02804 else
02805 goto is_not_a_corner;
02806 else
02807 goto is_not_a_corner;
02808 else
02809 if (p[offset3] > cb)
02810 if (p[offset4] > cb)
02811 if (p[offset11] > cb)
02812 goto is_a_corner;
02813 else
02814 goto is_not_a_corner;
02815 else
02816 goto is_not_a_corner;
02817 else
02818 goto is_not_a_corner;
02819 else
02820 if (p[offset6] < c_b)
02821 goto is_not_a_corner;
02822 else
02823 if (p[offset6] > cb)
02824 if (p[offset3] > cb)
02825 if (p[offset4] > cb)
02826 if (p[offset8] > cb)
02827 goto is_a_corner;
02828 else
02829 goto is_not_a_corner;
02830 else
02831 goto is_not_a_corner;
02832 else
02833 goto is_not_a_corner;
02834 else
02835 goto is_not_a_corner;
02836 else
02837 if (p[offset1] < c_b)
02838 goto is_not_a_corner;
02839 else
02840 if (p[offset1] > cb)
02841 if (p[offset6] > cb)
02842 if (p[offset3] > cb)
02843 if (p[offset4] > cb)
02844 goto is_a_corner;
02845 else
02846 goto is_not_a_corner;
02847 else
02848 goto is_not_a_corner;
02849 else
02850 if (p[offset6] < c_b)
02851 if (p[offset3] > cb)
02852 if (p[offset4] > cb)
02853 if (p[offset11] > cb)
02854 goto is_a_corner;
02855 else
02856 goto is_not_a_corner;
02857 else
02858 goto is_not_a_corner;
02859 else
02860 goto is_not_a_corner;
02861 else
02862 if (p[offset3] > cb)
02863 if (p[offset4] > cb)
02864 if (p[offset11] > cb)
02865 goto is_a_corner;
02866 else
02867 goto is_not_a_corner;
02868 else
02869 goto is_not_a_corner;
02870 else
02871 goto is_not_a_corner;
02872 else
02873 goto is_not_a_corner;
02874 else
02875 if (p[offset7] > cb)
02876 if (p[offset9] > cb)
02877 if (p[offset1] < c_b)
02878 if (p[offset6] < c_b)
02879 goto is_not_a_corner;
02880 else
02881 if (p[offset6] > cb)
02882 if (p[offset8] > cb)
02883 if (p[offset4] > cb)
02884 if (p[offset3] > cb)
02885 goto is_a_corner;
02886 else
02887 if (p[offset10] > cb)
02888 goto is_a_corner;
02889 else
02890 goto is_not_a_corner;
02891 else
02892 if (p[offset10] > cb)
02893 if (p[offset11] > cb)
02894 goto is_a_corner;
02895 else
02896 goto is_not_a_corner;
02897 else
02898 goto is_not_a_corner;
02899 else
02900 goto is_not_a_corner;
02901 else
02902 goto is_not_a_corner;
02903 else
02904 if (p[offset1] > cb)
02905 if (p[offset6] < c_b)
02906 if (p[offset11] > cb)
02907 if (p[offset3] > cb)
02908 if (p[offset4] > cb)
02909 goto is_a_corner;
02910 else
02911 if (p[offset10] > cb)
02912 goto is_a_corner;
02913 else
02914 goto is_not_a_corner;
02915 else
02916 if (p[offset8] > cb)
02917 if (p[offset10] > cb)
02918 goto is_a_corner;
02919 else
02920 goto is_not_a_corner;
02921 else
02922 goto is_not_a_corner;
02923 else
02924 goto is_not_a_corner;
02925 else
02926 if (p[offset6] > cb)
02927 if (p[offset3] > cb)
02928 if (p[offset4] > cb)
02929 goto is_a_corner;
02930 else
02931 if (p[offset10] > cb)
02932 if (p[offset11] > cb)
02933 goto is_a_corner;
02934 else
02935 goto is_not_a_corner;
02936 else
02937 goto is_not_a_corner;
02938 else
02939 if (p[offset8] > cb)
02940 if (p[offset10] > cb)
02941 if (p[offset4] > cb)
02942 goto is_a_corner;
02943 else
02944 if (p[offset11] > cb)
02945 goto is_a_corner;
02946 else
02947 goto is_not_a_corner;
02948 else
02949 goto is_not_a_corner;
02950 else
02951 goto is_not_a_corner;
02952 else
02953 if (p[offset11] > cb)
02954 if (p[offset3] > cb)
02955 if (p[offset4] > cb)
02956 goto is_a_corner;
02957 else
02958 if (p[offset10] > cb)
02959 goto is_a_corner;
02960 else
02961 goto is_not_a_corner;
02962 else
02963 if (p[offset8] > cb)
02964 if (p[offset10] > cb)
02965 goto is_a_corner;
02966 else
02967 goto is_not_a_corner;
02968 else
02969 goto is_not_a_corner;
02970 else
02971 goto is_not_a_corner;
02972 else
02973 if (p[offset6] < c_b)
02974 goto is_not_a_corner;
02975 else
02976 if (p[offset6] > cb)
02977 if (p[offset8] > cb)
02978 if (p[offset4] > cb)
02979 if (p[offset3] > cb)
02980 goto is_a_corner;
02981 else
02982 if (p[offset10] > cb)
02983 goto is_a_corner;
02984 else
02985 goto is_not_a_corner;
02986 else
02987 if (p[offset10] > cb)
02988 if (p[offset11] > cb)
02989 goto is_a_corner;
02990 else
02991 goto is_not_a_corner;
02992 else
02993 goto is_not_a_corner;
02994 else
02995 goto is_not_a_corner;
02996 else
02997 goto is_not_a_corner;
02998 else
02999 if (p[offset1] < c_b)
03000 if (p[offset6] < c_b)
03001 goto is_not_a_corner;
03002 else
03003 if (p[offset6] > cb)
03004 if (p[offset3] > cb)
03005 if (p[offset4] > cb)
03006 if (p[offset8] > cb)
03007 goto is_a_corner;
03008 else
03009 goto is_not_a_corner;
03010 else
03011 goto is_not_a_corner;
03012 else
03013 goto is_not_a_corner;
03014 else
03015 goto is_not_a_corner;
03016 else
03017 if (p[offset1] > cb)
03018 if (p[offset6] > cb)
03019 if (p[offset3] > cb)
03020 if (p[offset4] > cb)
03021 goto is_a_corner;
03022 else
03023 goto is_not_a_corner;
03024 else
03025 goto is_not_a_corner;
03026 else
03027 if (p[offset6] < c_b)
03028 if (p[offset3] > cb)
03029 if (p[offset4] > cb)
03030 if (p[offset11] > cb)
03031 goto is_a_corner;
03032 else
03033 goto is_not_a_corner;
03034 else
03035 goto is_not_a_corner;
03036 else
03037 goto is_not_a_corner;
03038 else
03039 if (p[offset3] > cb)
03040 if (p[offset4] > cb)
03041 if (p[offset11] > cb)
03042 goto is_a_corner;
03043 else
03044 goto is_not_a_corner;
03045 else
03046 goto is_not_a_corner;
03047 else
03048 goto is_not_a_corner;
03049 else
03050 if (p[offset6] < c_b)
03051 goto is_not_a_corner;
03052 else
03053 if (p[offset6] > cb)
03054 if (p[offset3] > cb)
03055 if (p[offset4] > cb)
03056 if (p[offset8] > cb)
03057 goto is_a_corner;
03058 else
03059 goto is_not_a_corner;
03060 else
03061 goto is_not_a_corner;
03062 else
03063 goto is_not_a_corner;
03064 else
03065 goto is_not_a_corner;
03066 else
03067 if (p[offset9] > cb)
03068 if (p[offset1] < c_b)
03069 goto is_not_a_corner;
03070 else
03071 if (p[offset1] > cb)
03072 if (p[offset6] < c_b)
03073 if (p[offset11] > cb)
03074 if (p[offset3] > cb)
03075 if (p[offset4] > cb)
03076 goto is_a_corner;
03077 else
03078 if (p[offset10] > cb)
03079 goto is_a_corner;
03080 else
03081 goto is_not_a_corner;
03082 else
03083 if (p[offset8] > cb)
03084 if (p[offset10] > cb)
03085 goto is_a_corner;
03086 else
03087 goto is_not_a_corner;
03088 else
03089 goto is_not_a_corner;
03090 else
03091 goto is_not_a_corner;
03092 else
03093 if (p[offset6] > cb)
03094 if (p[offset3] > cb)
03095 if (p[offset4] > cb)
03096 goto is_a_corner;
03097 else
03098 if (p[offset10] > cb)
03099 if (p[offset11] > cb)
03100 goto is_a_corner;
03101 else
03102 goto is_not_a_corner;
03103 else
03104 goto is_not_a_corner;
03105 else
03106 if (p[offset8] > cb)
03107 if (p[offset10] > cb)
03108 if (p[offset11] > cb)
03109 goto is_a_corner;
03110 else
03111 goto is_not_a_corner;
03112 else
03113 goto is_not_a_corner;
03114 else
03115 goto is_not_a_corner;
03116 else
03117 if (p[offset11] > cb)
03118 if (p[offset3] > cb)
03119 if (p[offset4] > cb)
03120 goto is_a_corner;
03121 else
03122 if (p[offset10] > cb)
03123 goto is_a_corner;
03124 else
03125 goto is_not_a_corner;
03126 else
03127 if (p[offset8] > cb)
03128 if (p[offset10] > cb)
03129 goto is_a_corner;
03130 else
03131 goto is_not_a_corner;
03132 else
03133 goto is_not_a_corner;
03134 else
03135 goto is_not_a_corner;
03136 else
03137 goto is_not_a_corner;
03138 else
03139 if (p[offset1] < c_b)
03140 goto is_not_a_corner;
03141 else
03142 if (p[offset1] > cb)
03143 if (p[offset6] > cb)
03144 if (p[offset3] > cb)
03145 if (p[offset4] > cb)
03146 goto is_a_corner;
03147 else
03148 goto is_not_a_corner;
03149 else
03150 goto is_not_a_corner;
03151 else
03152 if (p[offset6] < c_b)
03153 if (p[offset3] > cb)
03154 if (p[offset4] > cb)
03155 if (p[offset11] > cb)
03156 goto is_a_corner;
03157 else
03158 goto is_not_a_corner;
03159 else
03160 goto is_not_a_corner;
03161 else
03162 goto is_not_a_corner;
03163 else
03164 if (p[offset3] > cb)
03165 if (p[offset4] > cb)
03166 if (p[offset11] > cb)
03167 goto is_a_corner;
03168 else
03169 goto is_not_a_corner;
03170 else
03171 goto is_not_a_corner;
03172 else
03173 goto is_not_a_corner;
03174 else
03175 goto is_not_a_corner;
03176 else
03177 if (p[offset7] > cb)
03178 if (p[offset9] < c_b)
03179 goto is_not_a_corner;
03180 else
03181 if (p[offset9] > cb)
03182 if (p[offset1] < c_b)
03183 if (p[offset6] < c_b)
03184 goto is_not_a_corner;
03185 else
03186 if (p[offset6] > cb)
03187 if (p[offset8] > cb)
03188 if (p[offset4] > cb)
03189 if (p[offset3] > cb)
03190 goto is_a_corner;
03191 else
03192 if (p[offset10] > cb)
03193 goto is_a_corner;
03194 else
03195 goto is_not_a_corner;
03196 else
03197 if (p[offset10] > cb)
03198 if (p[offset11] > cb)
03199 goto is_a_corner;
03200 else
03201 goto is_not_a_corner;
03202 else
03203 goto is_not_a_corner;
03204 else
03205 goto is_not_a_corner;
03206 else
03207 goto is_not_a_corner;
03208 else
03209 if (p[offset1] > cb)
03210 if (p[offset6] < c_b)
03211 if (p[offset8] > cb)
03212 if (p[offset10] > cb)
03213 if (p[offset11] > cb)
03214 goto is_a_corner;
03215 else
03216 goto is_not_a_corner;
03217 else
03218 goto is_not_a_corner;
03219 else
03220 goto is_not_a_corner;
03221 else
03222 if (p[offset6] > cb)
03223 if (p[offset8] > cb)
03224 if (p[offset4] > cb)
03225 if (p[offset3] > cb)
03226 goto is_a_corner;
03227 else
03228 if (p[offset10] > cb)
03229 goto is_a_corner;
03230 else
03231 goto is_not_a_corner;
03232 else
03233 if (p[offset10] > cb)
03234 if (p[offset11] > cb)
03235 goto is_a_corner;
03236 else
03237 goto is_not_a_corner;
03238 else
03239 goto is_not_a_corner;
03240 else
03241 goto is_not_a_corner;
03242 else
03243 if (p[offset8] > cb)
03244 if (p[offset10] > cb)
03245 if (p[offset11] > cb)
03246 goto is_a_corner;
03247 else
03248 goto is_not_a_corner;
03249 else
03250 goto is_not_a_corner;
03251 else
03252 goto is_not_a_corner;
03253 else
03254 if (p[offset6] < c_b)
03255 goto is_not_a_corner;
03256 else
03257 if (p[offset6] > cb)
03258 if (p[offset8] > cb)
03259 if (p[offset4] > cb)
03260 if (p[offset3] > cb)
03261 goto is_a_corner;
03262 else
03263 if (p[offset10] > cb)
03264 goto is_a_corner;
03265 else
03266 goto is_not_a_corner;
03267 else
03268 if (p[offset10] > cb)
03269 if (p[offset11] > cb)
03270 goto is_a_corner;
03271 else
03272 goto is_not_a_corner;
03273 else
03274 goto is_not_a_corner;
03275 else
03276 goto is_not_a_corner;
03277 else
03278 goto is_not_a_corner;
03279 else
03280 goto is_not_a_corner;
03281 else
03282 goto is_not_a_corner;
03283 else
03284 if (p[offset5] < c_b)
03285 if (p[offset9] < c_b)
03286 if (p[offset7] > cb)
03287 if (p[offset2] < c_b)
03288 goto is_not_a_corner;
03289 else
03290 if (p[offset2] > cb)
03291 if (p[offset1] < c_b)
03292 goto is_not_a_corner;
03293 else
03294 if (p[offset1] > cb)
03295 if (p[offset6] > cb)
03296 if (p[offset3] > cb)
03297 if (p[offset4] > cb)
03298 if (p[offset10] > cb)
03299 if (p[offset11] > cb)
03300 goto is_a_corner;
03301 else
03302 goto is_not_a_corner;
03303 else
03304 goto is_not_a_corner;
03305 else
03306 goto is_not_a_corner;
03307 else
03308 goto is_not_a_corner;
03309 else
03310 if (p[offset6] < c_b)
03311 if (p[offset3] > cb)
03312 if (p[offset4] > cb)
03313 if (p[offset10] > cb)
03314 if (p[offset11] > cb)
03315 goto is_a_corner;
03316 else
03317 goto is_not_a_corner;
03318 else
03319 goto is_not_a_corner;
03320 else
03321 goto is_not_a_corner;
03322 else
03323 goto is_not_a_corner;
03324 else
03325 if (p[offset3] > cb)
03326 if (p[offset4] > cb)
03327 if (p[offset10] > cb)
03328 if (p[offset11] > cb)
03329 goto is_a_corner;
03330 else
03331 goto is_not_a_corner;
03332 else
03333 goto is_not_a_corner;
03334 else
03335 goto is_not_a_corner;
03336 else
03337 goto is_not_a_corner;
03338 else
03339 goto is_not_a_corner;
03340 else
03341 goto is_not_a_corner;
03342 else
03343 if (p[offset7] < c_b)
03344 if (p[offset2] < c_b)
03345 if (p[offset1] > cb)
03346 if (p[offset6] > cb)
03347 goto is_not_a_corner;
03348 else
03349 if (p[offset6] < c_b)
03350 if (p[offset8] < c_b)
03351 if (p[offset4] < c_b)
03352 if (p[offset3] < c_b)
03353 goto is_a_corner;
03354 else
03355 if (p[offset10] < c_b)
03356 goto is_a_corner;
03357 else
03358 goto is_not_a_corner;
03359 else
03360 if (p[offset10] < c_b)
03361 if (p[offset11] < c_b)
03362 goto is_a_corner;
03363 else
03364 goto is_not_a_corner;
03365 else
03366 goto is_not_a_corner;
03367 else
03368 goto is_not_a_corner;
03369 else
03370 goto is_not_a_corner;
03371 else
03372 if (p[offset1] < c_b)
03373 if (p[offset6] > cb)
03374 goto is_not_a_corner;
03375 else
03376 if (p[offset6] < c_b)
03377 if (p[offset4] < c_b)
03378 if (p[offset3] < c_b)
03379 goto is_a_corner;
03380 else
03381 if (p[offset8] < c_b)
03382 if (p[offset10] < c_b)
03383 goto is_a_corner;
03384 else
03385 goto is_not_a_corner;
03386 else
03387 goto is_not_a_corner;
03388 else
03389 if (p[offset8] < c_b)
03390 if (p[offset10] < c_b)
03391 if (p[offset11] < c_b)
03392 goto is_a_corner;
03393 else
03394 goto is_not_a_corner;
03395 else
03396 goto is_not_a_corner;
03397 else
03398 goto is_not_a_corner;
03399 else
03400 goto is_not_a_corner;
03401 else
03402 if (p[offset6] > cb)
03403 goto is_not_a_corner;
03404 else
03405 if (p[offset6] < c_b)
03406 if (p[offset8] < c_b)
03407 if (p[offset4] < c_b)
03408 if (p[offset3] < c_b)
03409 goto is_a_corner;
03410 else
03411 if (p[offset10] < c_b)
03412 goto is_a_corner;
03413 else
03414 goto is_not_a_corner;
03415 else
03416 if (p[offset10] < c_b)
03417 if (p[offset11] < c_b)
03418 goto is_a_corner;
03419 else
03420 goto is_not_a_corner;
03421 else
03422 goto is_not_a_corner;
03423 else
03424 goto is_not_a_corner;
03425 else
03426 goto is_not_a_corner;
03427 else
03428 if (p[offset2] > cb)
03429 if (p[offset1] < c_b)
03430 if (p[offset6] > cb)
03431 goto is_not_a_corner;
03432 else
03433 if (p[offset6] < c_b)
03434 if (p[offset8] < c_b)
03435 if (p[offset4] < c_b)
03436 if (p[offset3] < c_b)
03437 goto is_a_corner;
03438 else
03439 if (p[offset10] < c_b)
03440 goto is_a_corner;
03441 else
03442 goto is_not_a_corner;
03443 else
03444 if (p[offset10] < c_b)
03445 if (p[offset11] < c_b)
03446 goto is_a_corner;
03447 else
03448 goto is_not_a_corner;
03449 else
03450 goto is_not_a_corner;
03451 else
03452 goto is_not_a_corner;
03453 else
03454 goto is_not_a_corner;
03455 else
03456 if (p[offset1] > cb)
03457 if (p[offset6] > cb)
03458 if (p[offset3] > cb)
03459 if (p[offset4] > cb)
03460 if (p[offset10] > cb)
03461 if (p[offset11] > cb)
03462 goto is_a_corner;
03463 else
03464 goto is_not_a_corner;
03465 else
03466 goto is_not_a_corner;
03467 else
03468 goto is_not_a_corner;
03469 else
03470 goto is_not_a_corner;
03471 else
03472 if (p[offset6] < c_b)
03473 if (p[offset4] > cb)
03474 if (p[offset10] > cb)
03475 if (p[offset3] > cb)
03476 if (p[offset11] > cb)
03477 goto is_a_corner;
03478 else
03479 goto is_not_a_corner;
03480 else
03481 goto is_not_a_corner;
03482 else
03483 if (p[offset8] < c_b)
03484 if (p[offset11] < c_b)
03485 if (p[offset10] < c_b)
03486 goto is_a_corner;
03487 else
03488 goto is_not_a_corner;
03489 else
03490 goto is_not_a_corner;
03491 else
03492 goto is_not_a_corner;
03493 else
03494 if (p[offset8] < c_b)
03495 if (p[offset10] < c_b)
03496 if (p[offset4] < c_b)
03497 goto is_a_corner;
03498 else
03499 if (p[offset11] < c_b)
03500 goto is_a_corner;
03501 else
03502 goto is_not_a_corner;
03503 else
03504 if (p[offset3] < c_b)
03505 if (p[offset4] < c_b)
03506 goto is_a_corner;
03507 else
03508 goto is_not_a_corner;
03509 else
03510 goto is_not_a_corner;
03511 else
03512 goto is_not_a_corner;
03513 else
03514 if (p[offset3] > cb)
03515 if (p[offset4] > cb)
03516 if (p[offset10] > cb)
03517 if (p[offset11] > cb)
03518 goto is_a_corner;
03519 else
03520 goto is_not_a_corner;
03521 else
03522 goto is_not_a_corner;
03523 else
03524 goto is_not_a_corner;
03525 else
03526 goto is_not_a_corner;
03527 else
03528 if (p[offset6] > cb)
03529 goto is_not_a_corner;
03530 else
03531 if (p[offset6] < c_b)
03532 if (p[offset8] < c_b)
03533 if (p[offset4] < c_b)
03534 if (p[offset3] < c_b)
03535 goto is_a_corner;
03536 else
03537 if (p[offset10] < c_b)
03538 goto is_a_corner;
03539 else
03540 goto is_not_a_corner;
03541 else
03542 if (p[offset10] < c_b)
03543 if (p[offset11] < c_b)
03544 goto is_a_corner;
03545 else
03546 goto is_not_a_corner;
03547 else
03548 goto is_not_a_corner;
03549 else
03550 goto is_not_a_corner;
03551 else
03552 goto is_not_a_corner;
03553 else
03554 if (p[offset1] > cb)
03555 if (p[offset6] > cb)
03556 goto is_not_a_corner;
03557 else
03558 if (p[offset6] < c_b)
03559 if (p[offset8] < c_b)
03560 if (p[offset4] < c_b)
03561 if (p[offset3] < c_b)
03562 goto is_a_corner;
03563 else
03564 if (p[offset10] < c_b)
03565 goto is_a_corner;
03566 else
03567 goto is_not_a_corner;
03568 else
03569 if (p[offset10] < c_b)
03570 if (p[offset11] < c_b)
03571 goto is_a_corner;
03572 else
03573 goto is_not_a_corner;
03574 else
03575 goto is_not_a_corner;
03576 else
03577 goto is_not_a_corner;
03578 else
03579 goto is_not_a_corner;
03580 else
03581 if (p[offset1] < c_b)
03582 if (p[offset6] > cb)
03583 goto is_not_a_corner;
03584 else
03585 if (p[offset6] < c_b)
03586 if (p[offset8] < c_b)
03587 if (p[offset4] < c_b)
03588 if (p[offset3] < c_b)
03589 goto is_a_corner;
03590 else
03591 if (p[offset10] < c_b)
03592 goto is_a_corner;
03593 else
03594 goto is_not_a_corner;
03595 else
03596 if (p[offset10] < c_b)
03597 if (p[offset11] < c_b)
03598 goto is_a_corner;
03599 else
03600 goto is_not_a_corner;
03601 else
03602 goto is_not_a_corner;
03603 else
03604 goto is_not_a_corner;
03605 else
03606 goto is_not_a_corner;
03607 else
03608 if (p[offset6] > cb)
03609 goto is_not_a_corner;
03610 else
03611 if (p[offset6] < c_b)
03612 if (p[offset8] < c_b)
03613 if (p[offset4] < c_b)
03614 if (p[offset3] < c_b)
03615 goto is_a_corner;
03616 else
03617 if (p[offset10] < c_b)
03618 goto is_a_corner;
03619 else
03620 goto is_not_a_corner;
03621 else
03622 if (p[offset10] < c_b)
03623 if (p[offset11] < c_b)
03624 goto is_a_corner;
03625 else
03626 goto is_not_a_corner;
03627 else
03628 goto is_not_a_corner;
03629 else
03630 goto is_not_a_corner;
03631 else
03632 goto is_not_a_corner;
03633 else
03634 if (p[offset2] < c_b)
03635 goto is_not_a_corner;
03636 else
03637 if (p[offset2] > cb)
03638 if (p[offset1] < c_b)
03639 goto is_not_a_corner;
03640 else
03641 if (p[offset1] > cb)
03642 if (p[offset6] > cb)
03643 if (p[offset3] > cb)
03644 if (p[offset4] > cb)
03645 if (p[offset10] > cb)
03646 if (p[offset11] > cb)
03647 goto is_a_corner;
03648 else
03649 goto is_not_a_corner;
03650 else
03651 goto is_not_a_corner;
03652 else
03653 goto is_not_a_corner;
03654 else
03655 goto is_not_a_corner;
03656 else
03657 if (p[offset6] < c_b)
03658 if (p[offset3] > cb)
03659 if (p[offset4] > cb)
03660 if (p[offset10] > cb)
03661 if (p[offset11] > cb)
03662 goto is_a_corner;
03663 else
03664 goto is_not_a_corner;
03665 else
03666 goto is_not_a_corner;
03667 else
03668 goto is_not_a_corner;
03669 else
03670 goto is_not_a_corner;
03671 else
03672 if (p[offset3] > cb)
03673 if (p[offset4] > cb)
03674 if (p[offset10] > cb)
03675 if (p[offset11] > cb)
03676 goto is_a_corner;
03677 else
03678 goto is_not_a_corner;
03679 else
03680 goto is_not_a_corner;
03681 else
03682 goto is_not_a_corner;
03683 else
03684 goto is_not_a_corner;
03685 else
03686 goto is_not_a_corner;
03687 else
03688 goto is_not_a_corner;
03689 else
03690 if (p[offset9] > cb)
03691 if (p[offset7] < c_b)
03692 if (p[offset2] > cb)
03693 if (p[offset1] < c_b)
03694 goto is_not_a_corner;
03695 else
03696 if (p[offset1] > cb)
03697 if (p[offset6] > cb)
03698 if (p[offset10] > cb)
03699 if (p[offset11] > cb)
03700 if (p[offset3] > cb)
03701 goto is_a_corner;
03702 else
03703 if (p[offset8] > cb)
03704 goto is_a_corner;
03705 else
03706 goto is_not_a_corner;
03707 else
03708 goto is_not_a_corner;
03709 else
03710 goto is_not_a_corner;
03711 else
03712 if (p[offset6] < c_b)
03713 if (p[offset10] > cb)
03714 if (p[offset11] > cb)
03715 if (p[offset3] > cb)
03716 goto is_a_corner;
03717 else
03718 if (p[offset8] > cb)
03719 goto is_a_corner;
03720 else
03721 goto is_not_a_corner;
03722 else
03723 goto is_not_a_corner;
03724 else
03725 goto is_not_a_corner;
03726 else
03727 if (p[offset10] > cb)
03728 if (p[offset11] > cb)
03729 if (p[offset3] > cb)
03730 goto is_a_corner;
03731 else
03732 if (p[offset8] > cb)
03733 goto is_a_corner;
03734 else
03735 goto is_not_a_corner;
03736 else
03737 goto is_not_a_corner;
03738 else
03739 goto is_not_a_corner;
03740 else
03741 goto is_not_a_corner;
03742 else
03743 if (p[offset2] < c_b)
03744 if (p[offset1] < c_b)
03745 if (p[offset6] > cb)
03746 goto is_not_a_corner;
03747 else
03748 if (p[offset6] < c_b)
03749 if (p[offset3] < c_b)
03750 if (p[offset4] < c_b)
03751 goto is_a_corner;
03752 else
03753 goto is_not_a_corner;
03754 else
03755 goto is_not_a_corner;
03756 else
03757 goto is_not_a_corner;
03758 else
03759 if (p[offset1] > cb)
03760 if (p[offset6] > cb)
03761 goto is_not_a_corner;
03762 else
03763 if (p[offset6] < c_b)
03764 if (p[offset3] < c_b)
03765 if (p[offset4] < c_b)
03766 if (p[offset8] < c_b)
03767 goto is_a_corner;
03768 else
03769 goto is_not_a_corner;
03770 else
03771 goto is_not_a_corner;
03772 else
03773 goto is_not_a_corner;
03774 else
03775 goto is_not_a_corner;
03776 else
03777 if (p[offset6] > cb)
03778 goto is_not_a_corner;
03779 else
03780 if (p[offset6] < c_b)
03781 if (p[offset3] < c_b)
03782 if (p[offset4] < c_b)
03783 if (p[offset8] < c_b)
03784 goto is_a_corner;
03785 else
03786 goto is_not_a_corner;
03787 else
03788 goto is_not_a_corner;
03789 else
03790 goto is_not_a_corner;
03791 else
03792 goto is_not_a_corner;
03793 else
03794 goto is_not_a_corner;
03795 else
03796 if (p[offset7] > cb)
03797 if (p[offset2] < c_b)
03798 if (p[offset1] < c_b)
03799 if (p[offset6] < c_b)
03800 goto is_not_a_corner;
03801 else
03802 if (p[offset6] > cb)
03803 if (p[offset8] > cb)
03804 if (p[offset10] > cb)
03805 if (p[offset11] > cb)
03806 goto is_a_corner;
03807 else
03808 goto is_not_a_corner;
03809 else
03810 goto is_not_a_corner;
03811 else
03812 goto is_not_a_corner;
03813 else
03814 goto is_not_a_corner;
03815 else
03816 if (p[offset1] > cb)
03817 if (p[offset6] > cb)
03818 if (p[offset8] > cb)
03819 if (p[offset10] > cb)
03820 if (p[offset11] > cb)
03821 goto is_a_corner;
03822 else
03823 goto is_not_a_corner;
03824 else
03825 goto is_not_a_corner;
03826 else
03827 goto is_not_a_corner;
03828 else
03829 if (p[offset6] < c_b)
03830 if (p[offset8] > cb)
03831 if (p[offset10] > cb)
03832 if (p[offset11] > cb)
03833 goto is_a_corner;
03834 else
03835 goto is_not_a_corner;
03836 else
03837 goto is_not_a_corner;
03838 else
03839 goto is_not_a_corner;
03840 else
03841 if (p[offset8] > cb)
03842 if (p[offset10] > cb)
03843 if (p[offset11] > cb)
03844 goto is_a_corner;
03845 else
03846 goto is_not_a_corner;
03847 else
03848 goto is_not_a_corner;
03849 else
03850 goto is_not_a_corner;
03851 else
03852 if (p[offset6] < c_b)
03853 goto is_not_a_corner;
03854 else
03855 if (p[offset6] > cb)
03856 if (p[offset8] > cb)
03857 if (p[offset10] > cb)
03858 if (p[offset11] > cb)
03859 goto is_a_corner;
03860 else
03861 goto is_not_a_corner;
03862 else
03863 goto is_not_a_corner;
03864 else
03865 goto is_not_a_corner;
03866 else
03867 goto is_not_a_corner;
03868 else
03869 if (p[offset2] > cb)
03870 if (p[offset1] < c_b)
03871 if (p[offset6] < c_b)
03872 goto is_not_a_corner;
03873 else
03874 if (p[offset6] > cb)
03875 if (p[offset8] > cb)
03876 if (p[offset10] > cb)
03877 if (p[offset11] > cb)
03878 goto is_a_corner;
03879 else
03880 goto is_not_a_corner;
03881 else
03882 goto is_not_a_corner;
03883 else
03884 goto is_not_a_corner;
03885 else
03886 goto is_not_a_corner;
03887 else
03888 if (p[offset1] > cb)
03889 if (p[offset6] > cb)
03890 if (p[offset10] > cb)
03891 if (p[offset11] > cb)
03892 if (p[offset3] > cb)
03893 goto is_a_corner;
03894 else
03895 if (p[offset8] > cb)
03896 goto is_a_corner;
03897 else
03898 goto is_not_a_corner;
03899 else
03900 goto is_not_a_corner;
03901 else
03902 goto is_not_a_corner;
03903 else
03904 if (p[offset6] < c_b)
03905 if (p[offset10] > cb)
03906 if (p[offset11] > cb)
03907 if (p[offset3] > cb)
03908 goto is_a_corner;
03909 else
03910 if (p[offset8] > cb)
03911 goto is_a_corner;
03912 else
03913 goto is_not_a_corner;
03914 else
03915 goto is_not_a_corner;
03916 else
03917 goto is_not_a_corner;
03918 else
03919 if (p[offset10] > cb)
03920 if (p[offset11] > cb)
03921 if (p[offset3] > cb)
03922 goto is_a_corner;
03923 else
03924 if (p[offset8] > cb)
03925 goto is_a_corner;
03926 else
03927 goto is_not_a_corner;
03928 else
03929 goto is_not_a_corner;
03930 else
03931 goto is_not_a_corner;
03932 else
03933 if (p[offset6] < c_b)
03934 goto is_not_a_corner;
03935 else
03936 if (p[offset6] > cb)
03937 if (p[offset8] > cb)
03938 if (p[offset10] > cb)
03939 if (p[offset11] > cb)
03940 goto is_a_corner;
03941 else
03942 goto is_not_a_corner;
03943 else
03944 goto is_not_a_corner;
03945 else
03946 goto is_not_a_corner;
03947 else
03948 goto is_not_a_corner;
03949 else
03950 if (p[offset1] < c_b)
03951 if (p[offset6] < c_b)
03952 goto is_not_a_corner;
03953 else
03954 if (p[offset6] > cb)
03955 if (p[offset8] > cb)
03956 if (p[offset10] > cb)
03957 if (p[offset11] > cb)
03958 goto is_a_corner;
03959 else
03960 goto is_not_a_corner;
03961 else
03962 goto is_not_a_corner;
03963 else
03964 goto is_not_a_corner;
03965 else
03966 goto is_not_a_corner;
03967 else
03968 if (p[offset1] > cb)
03969 if (p[offset6] > cb)
03970 if (p[offset8] > cb)
03971 if (p[offset10] > cb)
03972 if (p[offset11] > cb)
03973 goto is_a_corner;
03974 else
03975 goto is_not_a_corner;
03976 else
03977 goto is_not_a_corner;
03978 else
03979 goto is_not_a_corner;
03980 else
03981 if (p[offset6] < c_b)
03982 if (p[offset8] > cb)
03983 if (p[offset10] > cb)
03984 if (p[offset11] > cb)
03985 goto is_a_corner;
03986 else
03987 goto is_not_a_corner;
03988 else
03989 goto is_not_a_corner;
03990 else
03991 goto is_not_a_corner;
03992 else
03993 if (p[offset8] > cb)
03994 if (p[offset10] > cb)
03995 if (p[offset11] > cb)
03996 goto is_a_corner;
03997 else
03998 goto is_not_a_corner;
03999 else
04000 goto is_not_a_corner;
04001 else
04002 goto is_not_a_corner;
04003 else
04004 if (p[offset6] < c_b)
04005 goto is_not_a_corner;
04006 else
04007 if (p[offset6] > cb)
04008 if (p[offset8] > cb)
04009 if (p[offset10] > cb)
04010 if (p[offset11] > cb)
04011 goto is_a_corner;
04012 else
04013 goto is_not_a_corner;
04014 else
04015 goto is_not_a_corner;
04016 else
04017 goto is_not_a_corner;
04018 else
04019 goto is_not_a_corner;
04020 else
04021 if (p[offset2] < c_b)
04022 goto is_not_a_corner;
04023 else
04024 if (p[offset2] > cb)
04025 if (p[offset1] < c_b)
04026 goto is_not_a_corner;
04027 else
04028 if (p[offset1] > cb)
04029 if (p[offset6] > cb)
04030 if (p[offset10] > cb)
04031 if (p[offset11] > cb)
04032 if (p[offset3] > cb)
04033 goto is_a_corner;
04034 else
04035 if (p[offset8] > cb)
04036 goto is_a_corner;
04037 else
04038 goto is_not_a_corner;
04039 else
04040 goto is_not_a_corner;
04041 else
04042 goto is_not_a_corner;
04043 else
04044 if (p[offset6] < c_b)
04045 if (p[offset10] > cb)
04046 if (p[offset11] > cb)
04047 if (p[offset3] > cb)
04048 goto is_a_corner;
04049 else
04050 if (p[offset8] > cb)
04051 goto is_a_corner;
04052 else
04053 goto is_not_a_corner;
04054 else
04055 goto is_not_a_corner;
04056 else
04057 goto is_not_a_corner;
04058 else
04059 if (p[offset10] > cb)
04060 if (p[offset11] > cb)
04061 if (p[offset3] > cb)
04062 goto is_a_corner;
04063 else
04064 if (p[offset8] > cb)
04065 goto is_a_corner;
04066 else
04067 goto is_not_a_corner;
04068 else
04069 goto is_not_a_corner;
04070 else
04071 goto is_not_a_corner;
04072 else
04073 goto is_not_a_corner;
04074 else
04075 goto is_not_a_corner;
04076 else
04077 if (p[offset2] < c_b)
04078 if (p[offset7] > cb)
04079 goto is_not_a_corner;
04080 else
04081 if (p[offset7] < c_b)
04082 if (p[offset1] < c_b)
04083 if (p[offset6] > cb)
04084 goto is_not_a_corner;
04085 else
04086 if (p[offset6] < c_b)
04087 if (p[offset3] < c_b)
04088 if (p[offset4] < c_b)
04089 goto is_a_corner;
04090 else
04091 goto is_not_a_corner;
04092 else
04093 goto is_not_a_corner;
04094 else
04095 goto is_not_a_corner;
04096 else
04097 if (p[offset1] > cb)
04098 if (p[offset6] > cb)
04099 goto is_not_a_corner;
04100 else
04101 if (p[offset6] < c_b)
04102 if (p[offset3] < c_b)
04103 if (p[offset4] < c_b)
04104 if (p[offset8] < c_b)
04105 goto is_a_corner;
04106 else
04107 goto is_not_a_corner;
04108 else
04109 goto is_not_a_corner;
04110 else
04111 goto is_not_a_corner;
04112 else
04113 goto is_not_a_corner;
04114 else
04115 if (p[offset6] > cb)
04116 goto is_not_a_corner;
04117 else
04118 if (p[offset6] < c_b)
04119 if (p[offset3] < c_b)
04120 if (p[offset4] < c_b)
04121 if (p[offset8] < c_b)
04122 goto is_a_corner;
04123 else
04124 goto is_not_a_corner;
04125 else
04126 goto is_not_a_corner;
04127 else
04128 goto is_not_a_corner;
04129 else
04130 goto is_not_a_corner;
04131 else
04132 goto is_not_a_corner;
04133 else
04134 if (p[offset2] > cb)
04135 if (p[offset7] > cb)
04136 if (p[offset1] < c_b)
04137 goto is_not_a_corner;
04138 else
04139 if (p[offset1] > cb)
04140 if (p[offset6] > cb)
04141 if (p[offset3] > cb)
04142 if (p[offset4] > cb)
04143 if (p[offset10] > cb)
04144 if (p[offset11] > cb)
04145 goto is_a_corner;
04146 else
04147 goto is_not_a_corner;
04148 else
04149 goto is_not_a_corner;
04150 else
04151 goto is_not_a_corner;
04152 else
04153 goto is_not_a_corner;
04154 else
04155 if (p[offset6] < c_b)
04156 if (p[offset3] > cb)
04157 if (p[offset4] > cb)
04158 if (p[offset10] > cb)
04159 if (p[offset11] > cb)
04160 goto is_a_corner;
04161 else
04162 goto is_not_a_corner;
04163 else
04164 goto is_not_a_corner;
04165 else
04166 goto is_not_a_corner;
04167 else
04168 goto is_not_a_corner;
04169 else
04170 if (p[offset3] > cb)
04171 if (p[offset4] > cb)
04172 if (p[offset10] > cb)
04173 if (p[offset11] > cb)
04174 goto is_a_corner;
04175 else
04176 goto is_not_a_corner;
04177 else
04178 goto is_not_a_corner;
04179 else
04180 goto is_not_a_corner;
04181 else
04182 goto is_not_a_corner;
04183 else
04184 goto is_not_a_corner;
04185 else
04186 if (p[offset7] < c_b)
04187 if (p[offset1] < c_b)
04188 goto is_not_a_corner;
04189 else
04190 if (p[offset1] > cb)
04191 if (p[offset6] > cb)
04192 if (p[offset3] > cb)
04193 if (p[offset4] > cb)
04194 if (p[offset10] > cb)
04195 if (p[offset11] > cb)
04196 goto is_a_corner;
04197 else
04198 goto is_not_a_corner;
04199 else
04200 goto is_not_a_corner;
04201 else
04202 goto is_not_a_corner;
04203 else
04204 goto is_not_a_corner;
04205 else
04206 if (p[offset6] < c_b)
04207 if (p[offset3] > cb)
04208 if (p[offset4] > cb)
04209 if (p[offset10] > cb)
04210 if (p[offset11] > cb)
04211 goto is_a_corner;
04212 else
04213 goto is_not_a_corner;
04214 else
04215 goto is_not_a_corner;
04216 else
04217 goto is_not_a_corner;
04218 else
04219 goto is_not_a_corner;
04220 else
04221 if (p[offset3] > cb)
04222 if (p[offset4] > cb)
04223 if (p[offset10] > cb)
04224 if (p[offset11] > cb)
04225 goto is_a_corner;
04226 else
04227 goto is_not_a_corner;
04228 else
04229 goto is_not_a_corner;
04230 else
04231 goto is_not_a_corner;
04232 else
04233 goto is_not_a_corner;
04234 else
04235 goto is_not_a_corner;
04236 else
04237 if (p[offset1] < c_b)
04238 goto is_not_a_corner;
04239 else
04240 if (p[offset1] > cb)
04241 if (p[offset6] > cb)
04242 if (p[offset3] > cb)
04243 if (p[offset4] > cb)
04244 if (p[offset10] > cb)
04245 if (p[offset11] > cb)
04246 goto is_a_corner;
04247 else
04248 goto is_not_a_corner;
04249 else
04250 goto is_not_a_corner;
04251 else
04252 goto is_not_a_corner;
04253 else
04254 goto is_not_a_corner;
04255 else
04256 if (p[offset6] < c_b)
04257 if (p[offset3] > cb)
04258 if (p[offset4] > cb)
04259 if (p[offset10] > cb)
04260 if (p[offset11] > cb)
04261 goto is_a_corner;
04262 else
04263 goto is_not_a_corner;
04264 else
04265 goto is_not_a_corner;
04266 else
04267 goto is_not_a_corner;
04268 else
04269 goto is_not_a_corner;
04270 else
04271 if (p[offset3] > cb)
04272 if (p[offset4] > cb)
04273 if (p[offset10] > cb)
04274 if (p[offset11] > cb)
04275 goto is_a_corner;
04276 else
04277 goto is_not_a_corner;
04278 else
04279 goto is_not_a_corner;
04280 else
04281 goto is_not_a_corner;
04282 else
04283 goto is_not_a_corner;
04284 else
04285 goto is_not_a_corner;
04286 else
04287 goto is_not_a_corner;
04288 else
04289 if (p[offset2] < c_b)
04290 if (p[offset7] > cb)
04291 if (p[offset9] < c_b)
04292 goto is_not_a_corner;
04293 else
04294 if (p[offset9] > cb)
04295 if (p[offset1] < c_b)
04296 if (p[offset6] < c_b)
04297 goto is_not_a_corner;
04298 else
04299 if (p[offset6] > cb)
04300 if (p[offset8] > cb)
04301 if (p[offset10] > cb)
04302 if (p[offset11] > cb)
04303 goto is_a_corner;
04304 else
04305 goto is_not_a_corner;
04306 else
04307 goto is_not_a_corner;
04308 else
04309 goto is_not_a_corner;
04310 else
04311 goto is_not_a_corner;
04312 else
04313 if (p[offset1] > cb)
04314 if (p[offset6] > cb)
04315 if (p[offset8] > cb)
04316 if (p[offset10] > cb)
04317 if (p[offset11] > cb)
04318 goto is_a_corner;
04319 else
04320 goto is_not_a_corner;
04321 else
04322 goto is_not_a_corner;
04323 else
04324 goto is_not_a_corner;
04325 else
04326 if (p[offset6] < c_b)
04327 if (p[offset8] > cb)
04328 if (p[offset10] > cb)
04329 if (p[offset11] > cb)
04330 goto is_a_corner;
04331 else
04332 goto is_not_a_corner;
04333 else
04334 goto is_not_a_corner;
04335 else
04336 goto is_not_a_corner;
04337 else
04338 if (p[offset8] > cb)
04339 if (p[offset10] > cb)
04340 if (p[offset11] > cb)
04341 goto is_a_corner;
04342 else
04343 goto is_not_a_corner;
04344 else
04345 goto is_not_a_corner;
04346 else
04347 goto is_not_a_corner;
04348 else
04349 if (p[offset6] < c_b)
04350 goto is_not_a_corner;
04351 else
04352 if (p[offset6] > cb)
04353 if (p[offset8] > cb)
04354 if (p[offset10] > cb)
04355 if (p[offset11] > cb)
04356 goto is_a_corner;
04357 else
04358 goto is_not_a_corner;
04359 else
04360 goto is_not_a_corner;
04361 else
04362 goto is_not_a_corner;
04363 else
04364 goto is_not_a_corner;
04365 else
04366 goto is_not_a_corner;
04367 else
04368 goto is_not_a_corner;
04369 else
04370 if (p[offset2] > cb)
04371 if (p[offset7] < c_b)
04372 if (p[offset9] < c_b)
04373 if (p[offset1] < c_b)
04374 goto is_not_a_corner;
04375 else
04376 if (p[offset1] > cb)
04377 if (p[offset6] > cb)
04378 if (p[offset3] > cb)
04379 if (p[offset4] > cb)
04380 if (p[offset10] > cb)
04381 if (p[offset11] > cb)
04382 goto is_a_corner;
04383 else
04384 goto is_not_a_corner;
04385 else
04386 goto is_not_a_corner;
04387 else
04388 goto is_not_a_corner;
04389 else
04390 goto is_not_a_corner;
04391 else
04392 if (p[offset6] < c_b)
04393 if (p[offset3] > cb)
04394 if (p[offset4] > cb)
04395 if (p[offset10] > cb)
04396 if (p[offset11] > cb)
04397 goto is_a_corner;
04398 else
04399 goto is_not_a_corner;
04400 else
04401 goto is_not_a_corner;
04402 else
04403 goto is_not_a_corner;
04404 else
04405 goto is_not_a_corner;
04406 else
04407 if (p[offset3] > cb)
04408 if (p[offset4] > cb)
04409 if (p[offset10] > cb)
04410 if (p[offset11] > cb)
04411 goto is_a_corner;
04412 else
04413 goto is_not_a_corner;
04414 else
04415 goto is_not_a_corner;
04416 else
04417 goto is_not_a_corner;
04418 else
04419 goto is_not_a_corner;
04420 else
04421 goto is_not_a_corner;
04422 else
04423 if (p[offset9] > cb)
04424 if (p[offset1] < c_b)
04425 goto is_not_a_corner;
04426 else
04427 if (p[offset1] > cb)
04428 if (p[offset6] > cb)
04429 if (p[offset10] > cb)
04430 if (p[offset11] > cb)
04431 if (p[offset3] > cb)
04432 goto is_a_corner;
04433 else
04434 if (p[offset8] > cb)
04435 goto is_a_corner;
04436 else
04437 goto is_not_a_corner;
04438 else
04439 goto is_not_a_corner;
04440 else
04441 goto is_not_a_corner;
04442 else
04443 if (p[offset6] < c_b)
04444 if (p[offset10] > cb)
04445 if (p[offset11] > cb)
04446 if (p[offset3] > cb)
04447 goto is_a_corner;
04448 else
04449 if (p[offset8] > cb)
04450 goto is_a_corner;
04451 else
04452 goto is_not_a_corner;
04453 else
04454 goto is_not_a_corner;
04455 else
04456 goto is_not_a_corner;
04457 else
04458 if (p[offset10] > cb)
04459 if (p[offset11] > cb)
04460 if (p[offset3] > cb)
04461 goto is_a_corner;
04462 else
04463 if (p[offset8] > cb)
04464 goto is_a_corner;
04465 else
04466 goto is_not_a_corner;
04467 else
04468 goto is_not_a_corner;
04469 else
04470 goto is_not_a_corner;
04471 else
04472 goto is_not_a_corner;
04473 else
04474 if (p[offset1] < c_b)
04475 goto is_not_a_corner;
04476 else
04477 if (p[offset1] > cb)
04478 if (p[offset6] > cb)
04479 if (p[offset3] > cb)
04480 if (p[offset4] > cb)
04481 if (p[offset10] > cb)
04482 if (p[offset11] > cb)
04483 goto is_a_corner;
04484 else
04485 goto is_not_a_corner;
04486 else
04487 goto is_not_a_corner;
04488 else
04489 goto is_not_a_corner;
04490 else
04491 goto is_not_a_corner;
04492 else
04493 if (p[offset6] < c_b)
04494 if (p[offset3] > cb)
04495 if (p[offset4] > cb)
04496 if (p[offset10] > cb)
04497 if (p[offset11] > cb)
04498 goto is_a_corner;
04499 else
04500 goto is_not_a_corner;
04501 else
04502 goto is_not_a_corner;
04503 else
04504 goto is_not_a_corner;
04505 else
04506 goto is_not_a_corner;
04507 else
04508 if (p[offset3] > cb)
04509 if (p[offset4] > cb)
04510 if (p[offset10] > cb)
04511 if (p[offset11] > cb)
04512 goto is_a_corner;
04513 else
04514 goto is_not_a_corner;
04515 else
04516 goto is_not_a_corner;
04517 else
04518 goto is_not_a_corner;
04519 else
04520 goto is_not_a_corner;
04521 else
04522 goto is_not_a_corner;
04523 else
04524 if (p[offset9] < c_b)
04525 if (p[offset7] > cb)
04526 if (p[offset1] < c_b)
04527 goto is_not_a_corner;
04528 else
04529 if (p[offset1] > cb)
04530 if (p[offset6] > cb)
04531 if (p[offset3] > cb)
04532 if (p[offset4] > cb)
04533 if (p[offset10] > cb)
04534 if (p[offset11] > cb)
04535 goto is_a_corner;
04536 else
04537 goto is_not_a_corner;
04538 else
04539 goto is_not_a_corner;
04540 else
04541 goto is_not_a_corner;
04542 else
04543 goto is_not_a_corner;
04544 else
04545 if (p[offset6] < c_b)
04546 if (p[offset3] > cb)
04547 if (p[offset4] > cb)
04548 if (p[offset10] > cb)
04549 if (p[offset11] > cb)
04550 goto is_a_corner;
04551 else
04552 goto is_not_a_corner;
04553 else
04554 goto is_not_a_corner;
04555 else
04556 goto is_not_a_corner;
04557 else
04558 goto is_not_a_corner;
04559 else
04560 if (p[offset3] > cb)
04561 if (p[offset4] > cb)
04562 if (p[offset10] > cb)
04563 if (p[offset11] > cb)
04564 goto is_a_corner;
04565 else
04566 goto is_not_a_corner;
04567 else
04568 goto is_not_a_corner;
04569 else
04570 goto is_not_a_corner;
04571 else
04572 goto is_not_a_corner;
04573 else
04574 goto is_not_a_corner;
04575 else
04576 if (p[offset1] < c_b)
04577 goto is_not_a_corner;
04578 else
04579 if (p[offset1] > cb)
04580 if (p[offset6] > cb)
04581 if (p[offset3] > cb)
04582 if (p[offset4] > cb)
04583 if (p[offset10] > cb)
04584 if (p[offset11] > cb)
04585 goto is_a_corner;
04586 else
04587 goto is_not_a_corner;
04588 else
04589 goto is_not_a_corner;
04590 else
04591 goto is_not_a_corner;
04592 else
04593 goto is_not_a_corner;
04594 else
04595 if (p[offset6] < c_b)
04596 if (p[offset3] > cb)
04597 if (p[offset4] > cb)
04598 if (p[offset10] > cb)
04599 if (p[offset11] > cb)
04600 goto is_a_corner;
04601 else
04602 goto is_not_a_corner;
04603 else
04604 goto is_not_a_corner;
04605 else
04606 goto is_not_a_corner;
04607 else
04608 goto is_not_a_corner;
04609 else
04610 if (p[offset3] > cb)
04611 if (p[offset4] > cb)
04612 if (p[offset10] > cb)
04613 if (p[offset11] > cb)
04614 goto is_a_corner;
04615 else
04616 goto is_not_a_corner;
04617 else
04618 goto is_not_a_corner;
04619 else
04620 goto is_not_a_corner;
04621 else
04622 goto is_not_a_corner;
04623 else
04624 goto is_not_a_corner;
04625 else
04626 if (p[offset7] > cb)
04627 if (p[offset9] > cb)
04628 if (p[offset1] < c_b)
04629 if (p[offset6] < c_b)
04630 goto is_not_a_corner;
04631 else
04632 if (p[offset6] > cb)
04633 if (p[offset8] > cb)
04634 if (p[offset10] > cb)
04635 if (p[offset11] > cb)
04636 goto is_a_corner;
04637 else
04638 goto is_not_a_corner;
04639 else
04640 goto is_not_a_corner;
04641 else
04642 goto is_not_a_corner;
04643 else
04644 goto is_not_a_corner;
04645 else
04646 if (p[offset1] > cb)
04647 if (p[offset6] > cb)
04648 if (p[offset10] > cb)
04649 if (p[offset11] > cb)
04650 if (p[offset3] > cb)
04651 goto is_a_corner;
04652 else
04653 if (p[offset8] > cb)
04654 goto is_a_corner;
04655 else
04656 goto is_not_a_corner;
04657 else
04658 goto is_not_a_corner;
04659 else
04660 goto is_not_a_corner;
04661 else
04662 if (p[offset6] < c_b)
04663 if (p[offset10] > cb)
04664 if (p[offset11] > cb)
04665 if (p[offset3] > cb)
04666 goto is_a_corner;
04667 else
04668 if (p[offset8] > cb)
04669 goto is_a_corner;
04670 else
04671 goto is_not_a_corner;
04672 else
04673 goto is_not_a_corner;
04674 else
04675 goto is_not_a_corner;
04676 else
04677 if (p[offset10] > cb)
04678 if (p[offset11] > cb)
04679 if (p[offset3] > cb)
04680 goto is_a_corner;
04681 else
04682 if (p[offset8] > cb)
04683 goto is_a_corner;
04684 else
04685 goto is_not_a_corner;
04686 else
04687 goto is_not_a_corner;
04688 else
04689 goto is_not_a_corner;
04690 else
04691 if (p[offset6] < c_b)
04692 goto is_not_a_corner;
04693 else
04694 if (p[offset6] > cb)
04695 if (p[offset8] > cb)
04696 if (p[offset10] > cb)
04697 if (p[offset11] > cb)
04698 goto is_a_corner;
04699 else
04700 goto is_not_a_corner;
04701 else
04702 goto is_not_a_corner;
04703 else
04704 goto is_not_a_corner;
04705 else
04706 goto is_not_a_corner;
04707 else
04708 if (p[offset1] < c_b)
04709 goto is_not_a_corner;
04710 else
04711 if (p[offset1] > cb)
04712 if (p[offset6] > cb)
04713 if (p[offset3] > cb)
04714 if (p[offset4] > cb)
04715 if (p[offset10] > cb)
04716 if (p[offset11] > cb)
04717 goto is_a_corner;
04718 else
04719 goto is_not_a_corner;
04720 else
04721 goto is_not_a_corner;
04722 else
04723 goto is_not_a_corner;
04724 else
04725 goto is_not_a_corner;
04726 else
04727 if (p[offset6] < c_b)
04728 if (p[offset3] > cb)
04729 if (p[offset4] > cb)
04730 if (p[offset10] > cb)
04731 if (p[offset11] > cb)
04732 goto is_a_corner;
04733 else
04734 goto is_not_a_corner;
04735 else
04736 goto is_not_a_corner;
04737 else
04738 goto is_not_a_corner;
04739 else
04740 goto is_not_a_corner;
04741 else
04742 if (p[offset3] > cb)
04743 if (p[offset4] > cb)
04744 if (p[offset10] > cb)
04745 if (p[offset11] > cb)
04746 goto is_a_corner;
04747 else
04748 goto is_not_a_corner;
04749 else
04750 goto is_not_a_corner;
04751 else
04752 goto is_not_a_corner;
04753 else
04754 goto is_not_a_corner;
04755 else
04756 goto is_not_a_corner;
04757 else
04758 if (p[offset9] > cb)
04759 if (p[offset1] < c_b)
04760 goto is_not_a_corner;
04761 else
04762 if (p[offset1] > cb)
04763 if (p[offset6] > cb)
04764 if (p[offset10] > cb)
04765 if (p[offset11] > cb)
04766 if (p[offset3] > cb)
04767 goto is_a_corner;
04768 else
04769 if (p[offset8] > cb)
04770 goto is_a_corner;
04771 else
04772 goto is_not_a_corner;
04773 else
04774 goto is_not_a_corner;
04775 else
04776 goto is_not_a_corner;
04777 else
04778 if (p[offset6] < c_b)
04779 if (p[offset10] > cb)
04780 if (p[offset11] > cb)
04781 if (p[offset3] > cb)
04782 goto is_a_corner;
04783 else
04784 if (p[offset8] > cb)
04785 goto is_a_corner;
04786 else
04787 goto is_not_a_corner;
04788 else
04789 goto is_not_a_corner;
04790 else
04791 goto is_not_a_corner;
04792 else
04793 if (p[offset10] > cb)
04794 if (p[offset11] > cb)
04795 if (p[offset3] > cb)
04796 goto is_a_corner;
04797 else
04798 if (p[offset8] > cb)
04799 goto is_a_corner;
04800 else
04801 goto is_not_a_corner;
04802 else
04803 goto is_not_a_corner;
04804 else
04805 goto is_not_a_corner;
04806 else
04807 goto is_not_a_corner;
04808 else
04809 if (p[offset1] < c_b)
04810 goto is_not_a_corner;
04811 else
04812 if (p[offset1] > cb)
04813 if (p[offset6] > cb)
04814 if (p[offset3] > cb)
04815 if (p[offset4] > cb)
04816 if (p[offset10] > cb)
04817 if (p[offset11] > cb)
04818 goto is_a_corner;
04819 else
04820 goto is_not_a_corner;
04821 else
04822 goto is_not_a_corner;
04823 else
04824 goto is_not_a_corner;
04825 else
04826 goto is_not_a_corner;
04827 else
04828 if (p[offset6] < c_b)
04829 if (p[offset3] > cb)
04830 if (p[offset4] > cb)
04831 if (p[offset10] > cb)
04832 if (p[offset11] > cb)
04833 goto is_a_corner;
04834 else
04835 goto is_not_a_corner;
04836 else
04837 goto is_not_a_corner;
04838 else
04839 goto is_not_a_corner;
04840 else
04841 goto is_not_a_corner;
04842 else
04843 if (p[offset3] > cb)
04844 if (p[offset4] > cb)
04845 if (p[offset10] > cb)
04846 if (p[offset11] > cb)
04847 goto is_a_corner;
04848 else
04849 goto is_not_a_corner;
04850 else
04851 goto is_not_a_corner;
04852 else
04853 goto is_not_a_corner;
04854 else
04855 goto is_not_a_corner;
04856 else
04857 goto is_not_a_corner;
04858 else
04859 if (p[offset7] > cb)
04860 if (p[offset9] < c_b)
04861 goto is_not_a_corner;
04862 else
04863 if (p[offset9] > cb)
04864 if (p[offset1] < c_b)
04865 if (p[offset6] < c_b)
04866 goto is_not_a_corner;
04867 else
04868 if (p[offset6] > cb)
04869 if (p[offset8] > cb)
04870 if (p[offset10] > cb)
04871 if (p[offset11] > cb)
04872 goto is_a_corner;
04873 else
04874 goto is_not_a_corner;
04875 else
04876 goto is_not_a_corner;
04877 else
04878 goto is_not_a_corner;
04879 else
04880 goto is_not_a_corner;
04881 else
04882 if (p[offset1] > cb)
04883 if (p[offset6] > cb)
04884 if (p[offset8] > cb)
04885 if (p[offset10] > cb)
04886 if (p[offset11] > cb)
04887 goto is_a_corner;
04888 else
04889 goto is_not_a_corner;
04890 else
04891 goto is_not_a_corner;
04892 else
04893 goto is_not_a_corner;
04894 else
04895 if (p[offset6] < c_b)
04896 if (p[offset8] > cb)
04897 if (p[offset10] > cb)
04898 if (p[offset11] > cb)
04899 goto is_a_corner;
04900 else
04901 goto is_not_a_corner;
04902 else
04903 goto is_not_a_corner;
04904 else
04905 goto is_not_a_corner;
04906 else
04907 if (p[offset8] > cb)
04908 if (p[offset10] > cb)
04909 if (p[offset11] > cb)
04910 goto is_a_corner;
04911 else
04912 goto is_not_a_corner;
04913 else
04914 goto is_not_a_corner;
04915 else
04916 goto is_not_a_corner;
04917 else
04918 if (p[offset6] < c_b)
04919 goto is_not_a_corner;
04920 else
04921 if (p[offset6] > cb)
04922 if (p[offset8] > cb)
04923 if (p[offset10] > cb)
04924 if (p[offset11] > cb)
04925 goto is_a_corner;
04926 else
04927 goto is_not_a_corner;
04928 else
04929 goto is_not_a_corner;
04930 else
04931 goto is_not_a_corner;
04932 else
04933 goto is_not_a_corner;
04934 else
04935 goto is_not_a_corner;
04936 else
04937 goto is_not_a_corner;
04938 else if (p[offset0] < c_b)
04939 if (p[offset5] < c_b)
04940 if (p[offset9] > cb)
04941 if (p[offset2] > cb)
04942 goto is_not_a_corner;
04943 else
04944 if (p[offset2] < c_b)
04945 if (p[offset7] > cb)
04946 if (p[offset1] > cb)
04947 goto is_not_a_corner;
04948 else
04949 if (p[offset1] < c_b)
04950 if (p[offset6] < c_b)
04951 if (p[offset3] < c_b)
04952 if (p[offset4] < c_b)
04953 goto is_a_corner;
04954 else
04955 goto is_not_a_corner;
04956 else
04957 goto is_not_a_corner;
04958 else
04959 if (p[offset6] > cb)
04960 if (p[offset3] < c_b)
04961 if (p[offset4] < c_b)
04962 if (p[offset11] < c_b)
04963 goto is_a_corner;
04964 else
04965 goto is_not_a_corner;
04966 else
04967 goto is_not_a_corner;
04968 else
04969 goto is_not_a_corner;
04970 else
04971 if (p[offset3] < c_b)
04972 if (p[offset4] < c_b)
04973 if (p[offset11] < c_b)
04974 goto is_a_corner;
04975 else
04976 goto is_not_a_corner;
04977 else
04978 goto is_not_a_corner;
04979 else
04980 goto is_not_a_corner;
04981 else
04982 goto is_not_a_corner;
04983 else
04984 if (p[offset7] < c_b)
04985 if (p[offset1] > cb)
04986 if (p[offset6] > cb)
04987 goto is_not_a_corner;
04988 else
04989 if (p[offset6] < c_b)
04990 if (p[offset3] < c_b)
04991 if (p[offset4] < c_b)
04992 if (p[offset8] < c_b)
04993 goto is_a_corner;
04994 else
04995 goto is_not_a_corner;
04996 else
04997 goto is_not_a_corner;
04998 else
04999 goto is_not_a_corner;
05000 else
05001 goto is_not_a_corner;
05002 else
05003 if (p[offset1] < c_b)
05004 if (p[offset6] < c_b)
05005 if (p[offset3] < c_b)
05006 if (p[offset4] < c_b)
05007 goto is_a_corner;
05008 else
05009 goto is_not_a_corner;
05010 else
05011 goto is_not_a_corner;
05012 else
05013 if (p[offset6] > cb)
05014 if (p[offset3] < c_b)
05015 if (p[offset4] < c_b)
05016 if (p[offset11] < c_b)
05017 goto is_a_corner;
05018 else
05019 goto is_not_a_corner;
05020 else
05021 goto is_not_a_corner;
05022 else
05023 goto is_not_a_corner;
05024 else
05025 if (p[offset3] < c_b)
05026 if (p[offset4] < c_b)
05027 if (p[offset11] < c_b)
05028 goto is_a_corner;
05029 else
05030 goto is_not_a_corner;
05031 else
05032 goto is_not_a_corner;
05033 else
05034 goto is_not_a_corner;
05035 else
05036 if (p[offset6] > cb)
05037 goto is_not_a_corner;
05038 else
05039 if (p[offset6] < c_b)
05040 if (p[offset3] < c_b)
05041 if (p[offset4] < c_b)
05042 if (p[offset8] < c_b)
05043 goto is_a_corner;
05044 else
05045 goto is_not_a_corner;
05046 else
05047 goto is_not_a_corner;
05048 else
05049 goto is_not_a_corner;
05050 else
05051 goto is_not_a_corner;
05052 else
05053 if (p[offset1] > cb)
05054 goto is_not_a_corner;
05055 else
05056 if (p[offset1] < c_b)
05057 if (p[offset6] < c_b)
05058 if (p[offset3] < c_b)
05059 if (p[offset4] < c_b)
05060 goto is_a_corner;
05061 else
05062 goto is_not_a_corner;
05063 else
05064 goto is_not_a_corner;
05065 else
05066 if (p[offset6] > cb)
05067 if (p[offset3] < c_b)
05068 if (p[offset4] < c_b)
05069 if (p[offset11] < c_b)
05070 goto is_a_corner;
05071 else
05072 goto is_not_a_corner;
05073 else
05074 goto is_not_a_corner;
05075 else
05076 goto is_not_a_corner;
05077 else
05078 if (p[offset3] < c_b)
05079 if (p[offset4] < c_b)
05080 if (p[offset11] < c_b)
05081 goto is_a_corner;
05082 else
05083 goto is_not_a_corner;
05084 else
05085 goto is_not_a_corner;
05086 else
05087 goto is_not_a_corner;
05088 else
05089 goto is_not_a_corner;
05090 else
05091 goto is_not_a_corner;
05092 else
05093 if (p[offset9] < c_b)
05094 if (p[offset7] > cb)
05095 if (p[offset2] > cb)
05096 goto is_not_a_corner;
05097 else
05098 if (p[offset2] < c_b)
05099 if (p[offset1] > cb)
05100 goto is_not_a_corner;
05101 else
05102 if (p[offset1] < c_b)
05103 if (p[offset6] > cb)
05104 if (p[offset11] < c_b)
05105 if (p[offset3] < c_b)
05106 if (p[offset4] < c_b)
05107 goto is_a_corner;
05108 else
05109 if (p[offset10] < c_b)
05110 goto is_a_corner;
05111 else
05112 goto is_not_a_corner;
05113 else
05114 if (p[offset8] < c_b)
05115 if (p[offset10] < c_b)
05116 goto is_a_corner;
05117 else
05118 goto is_not_a_corner;
05119 else
05120 goto is_not_a_corner;
05121 else
05122 goto is_not_a_corner;
05123 else
05124 if (p[offset6] < c_b)
05125 if (p[offset3] < c_b)
05126 if (p[offset4] < c_b)
05127 goto is_a_corner;
05128 else
05129 if (p[offset10] < c_b)
05130 if (p[offset11] < c_b)
05131 goto is_a_corner;
05132 else
05133 goto is_not_a_corner;
05134 else
05135 goto is_not_a_corner;
05136 else
05137 if (p[offset8] < c_b)
05138 if (p[offset10] < c_b)
05139 if (p[offset11] < c_b)
05140 goto is_a_corner;
05141 else
05142 goto is_not_a_corner;
05143 else
05144 goto is_not_a_corner;
05145 else
05146 goto is_not_a_corner;
05147 else
05148 if (p[offset11] < c_b)
05149 if (p[offset3] < c_b)
05150 if (p[offset4] < c_b)
05151 goto is_a_corner;
05152 else
05153 if (p[offset10] < c_b)
05154 goto is_a_corner;
05155 else
05156 goto is_not_a_corner;
05157 else
05158 if (p[offset8] < c_b)
05159 if (p[offset10] < c_b)
05160 goto is_a_corner;
05161 else
05162 goto is_not_a_corner;
05163 else
05164 goto is_not_a_corner;
05165 else
05166 goto is_not_a_corner;
05167 else
05168 goto is_not_a_corner;
05169 else
05170 goto is_not_a_corner;
05171 else
05172 if (p[offset7] < c_b)
05173 if (p[offset2] > cb)
05174 if (p[offset1] > cb)
05175 if (p[offset6] > cb)
05176 goto is_not_a_corner;
05177 else
05178 if (p[offset6] < c_b)
05179 if (p[offset8] < c_b)
05180 if (p[offset4] < c_b)
05181 if (p[offset3] < c_b)
05182 goto is_a_corner;
05183 else
05184 if (p[offset10] < c_b)
05185 goto is_a_corner;
05186 else
05187 goto is_not_a_corner;
05188 else
05189 if (p[offset10] < c_b)
05190 if (p[offset11] < c_b)
05191 goto is_a_corner;
05192 else
05193 goto is_not_a_corner;
05194 else
05195 goto is_not_a_corner;
05196 else
05197 goto is_not_a_corner;
05198 else
05199 goto is_not_a_corner;
05200 else
05201 if (p[offset1] < c_b)
05202 if (p[offset6] > cb)
05203 if (p[offset8] < c_b)
05204 if (p[offset10] < c_b)
05205 if (p[offset11] < c_b)
05206 goto is_a_corner;
05207 else
05208 goto is_not_a_corner;
05209 else
05210 goto is_not_a_corner;
05211 else
05212 goto is_not_a_corner;
05213 else
05214 if (p[offset6] < c_b)
05215 if (p[offset8] < c_b)
05216 if (p[offset4] < c_b)
05217 if (p[offset3] < c_b)
05218 goto is_a_corner;
05219 else
05220 if (p[offset10] < c_b)
05221 goto is_a_corner;
05222 else
05223 goto is_not_a_corner;
05224 else
05225 if (p[offset10] < c_b)
05226 if (p[offset11] < c_b)
05227 goto is_a_corner;
05228 else
05229 goto is_not_a_corner;
05230 else
05231 goto is_not_a_corner;
05232 else
05233 goto is_not_a_corner;
05234 else
05235 if (p[offset8] < c_b)
05236 if (p[offset10] < c_b)
05237 if (p[offset11] < c_b)
05238 goto is_a_corner;
05239 else
05240 goto is_not_a_corner;
05241 else
05242 goto is_not_a_corner;
05243 else
05244 goto is_not_a_corner;
05245 else
05246 if (p[offset6] > cb)
05247 goto is_not_a_corner;
05248 else
05249 if (p[offset6] < c_b)
05250 if (p[offset8] < c_b)
05251 if (p[offset4] < c_b)
05252 if (p[offset3] < c_b)
05253 goto is_a_corner;
05254 else
05255 if (p[offset10] < c_b)
05256 goto is_a_corner;
05257 else
05258 goto is_not_a_corner;
05259 else
05260 if (p[offset10] < c_b)
05261 if (p[offset11] < c_b)
05262 goto is_a_corner;
05263 else
05264 goto is_not_a_corner;
05265 else
05266 goto is_not_a_corner;
05267 else
05268 goto is_not_a_corner;
05269 else
05270 goto is_not_a_corner;
05271 else
05272 if (p[offset2] < c_b)
05273 if (p[offset1] > cb)
05274 if (p[offset6] > cb)
05275 goto is_not_a_corner;
05276 else
05277 if (p[offset6] < c_b)
05278 if (p[offset8] < c_b)
05279 if (p[offset4] < c_b)
05280 if (p[offset3] < c_b)
05281 goto is_a_corner;
05282 else
05283 if (p[offset10] < c_b)
05284 goto is_a_corner;
05285 else
05286 goto is_not_a_corner;
05287 else
05288 if (p[offset10] < c_b)
05289 if (p[offset11] < c_b)
05290 goto is_a_corner;
05291 else
05292 goto is_not_a_corner;
05293 else
05294 goto is_not_a_corner;
05295 else
05296 goto is_not_a_corner;
05297 else
05298 goto is_not_a_corner;
05299 else
05300 if (p[offset1] < c_b)
05301 if (p[offset6] > cb)
05302 if (p[offset11] < c_b)
05303 if (p[offset3] < c_b)
05304 if (p[offset4] < c_b)
05305 goto is_a_corner;
05306 else
05307 if (p[offset10] < c_b)
05308 goto is_a_corner;
05309 else
05310 goto is_not_a_corner;
05311 else
05312 if (p[offset8] < c_b)
05313 if (p[offset10] < c_b)
05314 goto is_a_corner;
05315 else
05316 goto is_not_a_corner;
05317 else
05318 goto is_not_a_corner;
05319 else
05320 goto is_not_a_corner;
05321 else
05322 if (p[offset6] < c_b)
05323 if (p[offset3] < c_b)
05324 if (p[offset4] < c_b)
05325 goto is_a_corner;
05326 else
05327 if (p[offset10] < c_b)
05328 if (p[offset11] < c_b)
05329 goto is_a_corner;
05330 else
05331 goto is_not_a_corner;
05332 else
05333 goto is_not_a_corner;
05334 else
05335 if (p[offset8] < c_b)
05336 if (p[offset10] < c_b)
05337 if (p[offset4] < c_b)
05338 goto is_a_corner;
05339 else
05340 if (p[offset11] < c_b)
05341 goto is_a_corner;
05342 else
05343 goto is_not_a_corner;
05344 else
05345 goto is_not_a_corner;
05346 else
05347 goto is_not_a_corner;
05348 else
05349 if (p[offset11] < c_b)
05350 if (p[offset3] < c_b)
05351 if (p[offset4] < c_b)
05352 goto is_a_corner;
05353 else
05354 if (p[offset10] < c_b)
05355 goto is_a_corner;
05356 else
05357 goto is_not_a_corner;
05358 else
05359 if (p[offset8] < c_b)
05360 if (p[offset10] < c_b)
05361 goto is_a_corner;
05362 else
05363 goto is_not_a_corner;
05364 else
05365 goto is_not_a_corner;
05366 else
05367 goto is_not_a_corner;
05368 else
05369 if (p[offset6] > cb)
05370 goto is_not_a_corner;
05371 else
05372 if (p[offset6] < c_b)
05373 if (p[offset8] < c_b)
05374 if (p[offset4] < c_b)
05375 if (p[offset3] < c_b)
05376 goto is_a_corner;
05377 else
05378 if (p[offset10] < c_b)
05379 goto is_a_corner;
05380 else
05381 goto is_not_a_corner;
05382 else
05383 if (p[offset10] < c_b)
05384 if (p[offset11] < c_b)
05385 goto is_a_corner;
05386 else
05387 goto is_not_a_corner;
05388 else
05389 goto is_not_a_corner;
05390 else
05391 goto is_not_a_corner;
05392 else
05393 goto is_not_a_corner;
05394 else
05395 if (p[offset1] > cb)
05396 if (p[offset6] > cb)
05397 goto is_not_a_corner;
05398 else
05399 if (p[offset6] < c_b)
05400 if (p[offset8] < c_b)
05401 if (p[offset4] < c_b)
05402 if (p[offset3] < c_b)
05403 goto is_a_corner;
05404 else
05405 if (p[offset10] < c_b)
05406 goto is_a_corner;
05407 else
05408 goto is_not_a_corner;
05409 else
05410 if (p[offset10] < c_b)
05411 if (p[offset11] < c_b)
05412 goto is_a_corner;
05413 else
05414 goto is_not_a_corner;
05415 else
05416 goto is_not_a_corner;
05417 else
05418 goto is_not_a_corner;
05419 else
05420 goto is_not_a_corner;
05421 else
05422 if (p[offset1] < c_b)
05423 if (p[offset6] > cb)
05424 if (p[offset8] < c_b)
05425 if (p[offset10] < c_b)
05426 if (p[offset11] < c_b)
05427 goto is_a_corner;
05428 else
05429 goto is_not_a_corner;
05430 else
05431 goto is_not_a_corner;
05432 else
05433 goto is_not_a_corner;
05434 else
05435 if (p[offset6] < c_b)
05436 if (p[offset8] < c_b)
05437 if (p[offset4] < c_b)
05438 if (p[offset3] < c_b)
05439 goto is_a_corner;
05440 else
05441 if (p[offset10] < c_b)
05442 goto is_a_corner;
05443 else
05444 goto is_not_a_corner;
05445 else
05446 if (p[offset10] < c_b)
05447 if (p[offset11] < c_b)
05448 goto is_a_corner;
05449 else
05450 goto is_not_a_corner;
05451 else
05452 goto is_not_a_corner;
05453 else
05454 goto is_not_a_corner;
05455 else
05456 if (p[offset8] < c_b)
05457 if (p[offset10] < c_b)
05458 if (p[offset11] < c_b)
05459 goto is_a_corner;
05460 else
05461 goto is_not_a_corner;
05462 else
05463 goto is_not_a_corner;
05464 else
05465 goto is_not_a_corner;
05466 else
05467 if (p[offset6] > cb)
05468 goto is_not_a_corner;
05469 else
05470 if (p[offset6] < c_b)
05471 if (p[offset8] < c_b)
05472 if (p[offset4] < c_b)
05473 if (p[offset3] < c_b)
05474 goto is_a_corner;
05475 else
05476 if (p[offset10] < c_b)
05477 goto is_a_corner;
05478 else
05479 goto is_not_a_corner;
05480 else
05481 if (p[offset10] < c_b)
05482 if (p[offset11] < c_b)
05483 goto is_a_corner;
05484 else
05485 goto is_not_a_corner;
05486 else
05487 goto is_not_a_corner;
05488 else
05489 goto is_not_a_corner;
05490 else
05491 goto is_not_a_corner;
05492 else
05493 if (p[offset2] > cb)
05494 goto is_not_a_corner;
05495 else
05496 if (p[offset2] < c_b)
05497 if (p[offset1] > cb)
05498 goto is_not_a_corner;
05499 else
05500 if (p[offset1] < c_b)
05501 if (p[offset6] > cb)
05502 if (p[offset11] < c_b)
05503 if (p[offset3] < c_b)
05504 if (p[offset4] < c_b)
05505 goto is_a_corner;
05506 else
05507 if (p[offset10] < c_b)
05508 goto is_a_corner;
05509 else
05510 goto is_not_a_corner;
05511 else
05512 if (p[offset8] < c_b)
05513 if (p[offset10] < c_b)
05514 goto is_a_corner;
05515 else
05516 goto is_not_a_corner;
05517 else
05518 goto is_not_a_corner;
05519 else
05520 goto is_not_a_corner;
05521 else
05522 if (p[offset6] < c_b)
05523 if (p[offset3] < c_b)
05524 if (p[offset4] < c_b)
05525 goto is_a_corner;
05526 else
05527 if (p[offset10] < c_b)
05528 if (p[offset11] < c_b)
05529 goto is_a_corner;
05530 else
05531 goto is_not_a_corner;
05532 else
05533 goto is_not_a_corner;
05534 else
05535 if (p[offset8] < c_b)
05536 if (p[offset10] < c_b)
05537 if (p[offset11] < c_b)
05538 goto is_a_corner;
05539 else
05540 goto is_not_a_corner;
05541 else
05542 goto is_not_a_corner;
05543 else
05544 goto is_not_a_corner;
05545 else
05546 if (p[offset11] < c_b)
05547 if (p[offset3] < c_b)
05548 if (p[offset4] < c_b)
05549 goto is_a_corner;
05550 else
05551 if (p[offset10] < c_b)
05552 goto is_a_corner;
05553 else
05554 goto is_not_a_corner;
05555 else
05556 if (p[offset8] < c_b)
05557 if (p[offset10] < c_b)
05558 goto is_a_corner;
05559 else
05560 goto is_not_a_corner;
05561 else
05562 goto is_not_a_corner;
05563 else
05564 goto is_not_a_corner;
05565 else
05566 goto is_not_a_corner;
05567 else
05568 goto is_not_a_corner;
05569 else
05570 if (p[offset2] > cb)
05571 goto is_not_a_corner;
05572 else
05573 if (p[offset2] < c_b)
05574 if (p[offset7] > cb)
05575 if (p[offset1] > cb)
05576 goto is_not_a_corner;
05577 else
05578 if (p[offset1] < c_b)
05579 if (p[offset6] < c_b)
05580 if (p[offset3] < c_b)
05581 if (p[offset4] < c_b)
05582 goto is_a_corner;
05583 else
05584 goto is_not_a_corner;
05585 else
05586 goto is_not_a_corner;
05587 else
05588 if (p[offset6] > cb)
05589 if (p[offset3] < c_b)
05590 if (p[offset4] < c_b)
05591 if (p[offset11] < c_b)
05592 goto is_a_corner;
05593 else
05594 goto is_not_a_corner;
05595 else
05596 goto is_not_a_corner;
05597 else
05598 goto is_not_a_corner;
05599 else
05600 if (p[offset3] < c_b)
05601 if (p[offset4] < c_b)
05602 if (p[offset11] < c_b)
05603 goto is_a_corner;
05604 else
05605 goto is_not_a_corner;
05606 else
05607 goto is_not_a_corner;
05608 else
05609 goto is_not_a_corner;
05610 else
05611 goto is_not_a_corner;
05612 else
05613 if (p[offset7] < c_b)
05614 if (p[offset1] > cb)
05615 if (p[offset6] > cb)
05616 goto is_not_a_corner;
05617 else
05618 if (p[offset6] < c_b)
05619 if (p[offset3] < c_b)
05620 if (p[offset4] < c_b)
05621 if (p[offset8] < c_b)
05622 goto is_a_corner;
05623 else
05624 goto is_not_a_corner;
05625 else
05626 goto is_not_a_corner;
05627 else
05628 goto is_not_a_corner;
05629 else
05630 goto is_not_a_corner;
05631 else
05632 if (p[offset1] < c_b)
05633 if (p[offset6] < c_b)
05634 if (p[offset3] < c_b)
05635 if (p[offset4] < c_b)
05636 goto is_a_corner;
05637 else
05638 goto is_not_a_corner;
05639 else
05640 goto is_not_a_corner;
05641 else
05642 if (p[offset6] > cb)
05643 if (p[offset3] < c_b)
05644 if (p[offset4] < c_b)
05645 if (p[offset11] < c_b)
05646 goto is_a_corner;
05647 else
05648 goto is_not_a_corner;
05649 else
05650 goto is_not_a_corner;
05651 else
05652 goto is_not_a_corner;
05653 else
05654 if (p[offset3] < c_b)
05655 if (p[offset4] < c_b)
05656 if (p[offset11] < c_b)
05657 goto is_a_corner;
05658 else
05659 goto is_not_a_corner;
05660 else
05661 goto is_not_a_corner;
05662 else
05663 goto is_not_a_corner;
05664 else
05665 if (p[offset6] > cb)
05666 goto is_not_a_corner;
05667 else
05668 if (p[offset6] < c_b)
05669 if (p[offset3] < c_b)
05670 if (p[offset4] < c_b)
05671 if (p[offset8] < c_b)
05672 goto is_a_corner;
05673 else
05674 goto is_not_a_corner;
05675 else
05676 goto is_not_a_corner;
05677 else
05678 goto is_not_a_corner;
05679 else
05680 goto is_not_a_corner;
05681 else
05682 if (p[offset1] > cb)
05683 goto is_not_a_corner;
05684 else
05685 if (p[offset1] < c_b)
05686 if (p[offset6] < c_b)
05687 if (p[offset3] < c_b)
05688 if (p[offset4] < c_b)
05689 goto is_a_corner;
05690 else
05691 goto is_not_a_corner;
05692 else
05693 goto is_not_a_corner;
05694 else
05695 if (p[offset6] > cb)
05696 if (p[offset3] < c_b)
05697 if (p[offset4] < c_b)
05698 if (p[offset11] < c_b)
05699 goto is_a_corner;
05700 else
05701 goto is_not_a_corner;
05702 else
05703 goto is_not_a_corner;
05704 else
05705 goto is_not_a_corner;
05706 else
05707 if (p[offset3] < c_b)
05708 if (p[offset4] < c_b)
05709 if (p[offset11] < c_b)
05710 goto is_a_corner;
05711 else
05712 goto is_not_a_corner;
05713 else
05714 goto is_not_a_corner;
05715 else
05716 goto is_not_a_corner;
05717 else
05718 goto is_not_a_corner;
05719 else
05720 goto is_not_a_corner;
05721 else
05722 if (p[offset5] > cb)
05723 if (p[offset2] > cb)
05724 if (p[offset7] < c_b)
05725 if (p[offset9] > cb)
05726 goto is_not_a_corner;
05727 else
05728 if (p[offset9] < c_b)
05729 if (p[offset1] > cb)
05730 if (p[offset6] > cb)
05731 goto is_not_a_corner;
05732 else
05733 if (p[offset6] < c_b)
05734 if (p[offset8] < c_b)
05735 if (p[offset10] < c_b)
05736 if (p[offset11] < c_b)
05737 goto is_a_corner;
05738 else
05739 goto is_not_a_corner;
05740 else
05741 goto is_not_a_corner;
05742 else
05743 goto is_not_a_corner;
05744 else
05745 goto is_not_a_corner;
05746 else
05747 if (p[offset1] < c_b)
05748 if (p[offset6] > cb)
05749 if (p[offset8] < c_b)
05750 if (p[offset10] < c_b)
05751 if (p[offset11] < c_b)
05752 goto is_a_corner;
05753 else
05754 goto is_not_a_corner;
05755 else
05756 goto is_not_a_corner;
05757 else
05758 goto is_not_a_corner;
05759 else
05760 if (p[offset6] < c_b)
05761 if (p[offset8] < c_b)
05762 if (p[offset10] < c_b)
05763 if (p[offset11] < c_b)
05764 goto is_a_corner;
05765 else
05766 goto is_not_a_corner;
05767 else
05768 goto is_not_a_corner;
05769 else
05770 goto is_not_a_corner;
05771 else
05772 if (p[offset8] < c_b)
05773 if (p[offset10] < c_b)
05774 if (p[offset11] < c_b)
05775 goto is_a_corner;
05776 else
05777 goto is_not_a_corner;
05778 else
05779 goto is_not_a_corner;
05780 else
05781 goto is_not_a_corner;
05782 else
05783 if (p[offset6] > cb)
05784 goto is_not_a_corner;
05785 else
05786 if (p[offset6] < c_b)
05787 if (p[offset8] < c_b)
05788 if (p[offset10] < c_b)
05789 if (p[offset11] < c_b)
05790 goto is_a_corner;
05791 else
05792 goto is_not_a_corner;
05793 else
05794 goto is_not_a_corner;
05795 else
05796 goto is_not_a_corner;
05797 else
05798 goto is_not_a_corner;
05799 else
05800 goto is_not_a_corner;
05801 else
05802 if (p[offset7] > cb)
05803 if (p[offset9] < c_b)
05804 if (p[offset1] > cb)
05805 if (p[offset6] < c_b)
05806 goto is_not_a_corner;
05807 else
05808 if (p[offset6] > cb)
05809 if (p[offset3] > cb)
05810 if (p[offset4] > cb)
05811 goto is_a_corner;
05812 else
05813 goto is_not_a_corner;
05814 else
05815 goto is_not_a_corner;
05816 else
05817 goto is_not_a_corner;
05818 else
05819 if (p[offset1] < c_b)
05820 if (p[offset6] < c_b)
05821 goto is_not_a_corner;
05822 else
05823 if (p[offset6] > cb)
05824 if (p[offset3] > cb)
05825 if (p[offset4] > cb)
05826 if (p[offset8] > cb)
05827 goto is_a_corner;
05828 else
05829 goto is_not_a_corner;
05830 else
05831 goto is_not_a_corner;
05832 else
05833 goto is_not_a_corner;
05834 else
05835 goto is_not_a_corner;
05836 else
05837 if (p[offset6] < c_b)
05838 goto is_not_a_corner;
05839 else
05840 if (p[offset6] > cb)
05841 if (p[offset3] > cb)
05842 if (p[offset4] > cb)
05843 if (p[offset8] > cb)
05844 goto is_a_corner;
05845 else
05846 goto is_not_a_corner;
05847 else
05848 goto is_not_a_corner;
05849 else
05850 goto is_not_a_corner;
05851 else
05852 goto is_not_a_corner;
05853 else
05854 if (p[offset9] > cb)
05855 if (p[offset1] < c_b)
05856 if (p[offset6] < c_b)
05857 goto is_not_a_corner;
05858 else
05859 if (p[offset6] > cb)
05860 if (p[offset8] > cb)
05861 if (p[offset4] > cb)
05862 if (p[offset3] > cb)
05863 goto is_a_corner;
05864 else
05865 if (p[offset10] > cb)
05866 goto is_a_corner;
05867 else
05868 goto is_not_a_corner;
05869 else
05870 if (p[offset10] > cb)
05871 if (p[offset11] > cb)
05872 goto is_a_corner;
05873 else
05874 goto is_not_a_corner;
05875 else
05876 goto is_not_a_corner;
05877 else
05878 goto is_not_a_corner;
05879 else
05880 goto is_not_a_corner;
05881 else
05882 if (p[offset1] > cb)
05883 if (p[offset6] < c_b)
05884 goto is_not_a_corner;
05885 else
05886 if (p[offset6] > cb)
05887 if (p[offset4] > cb)
05888 if (p[offset3] > cb)
05889 goto is_a_corner;
05890 else
05891 if (p[offset8] > cb)
05892 if (p[offset10] > cb)
05893 goto is_a_corner;
05894 else
05895 goto is_not_a_corner;
05896 else
05897 goto is_not_a_corner;
05898 else
05899 if (p[offset8] > cb)
05900 if (p[offset10] > cb)
05901 if (p[offset11] > cb)
05902 goto is_a_corner;
05903 else
05904 goto is_not_a_corner;
05905 else
05906 goto is_not_a_corner;
05907 else
05908 goto is_not_a_corner;
05909 else
05910 goto is_not_a_corner;
05911 else
05912 if (p[offset6] < c_b)
05913 goto is_not_a_corner;
05914 else
05915 if (p[offset6] > cb)
05916 if (p[offset8] > cb)
05917 if (p[offset4] > cb)
05918 if (p[offset3] > cb)
05919 goto is_a_corner;
05920 else
05921 if (p[offset10] > cb)
05922 goto is_a_corner;
05923 else
05924 goto is_not_a_corner;
05925 else
05926 if (p[offset10] > cb)
05927 if (p[offset11] > cb)
05928 goto is_a_corner;
05929 else
05930 goto is_not_a_corner;
05931 else
05932 goto is_not_a_corner;
05933 else
05934 goto is_not_a_corner;
05935 else
05936 goto is_not_a_corner;
05937 else
05938 if (p[offset1] > cb)
05939 if (p[offset6] < c_b)
05940 goto is_not_a_corner;
05941 else
05942 if (p[offset6] > cb)
05943 if (p[offset3] > cb)
05944 if (p[offset4] > cb)
05945 goto is_a_corner;
05946 else
05947 goto is_not_a_corner;
05948 else
05949 goto is_not_a_corner;
05950 else
05951 goto is_not_a_corner;
05952 else
05953 if (p[offset1] < c_b)
05954 if (p[offset6] < c_b)
05955 goto is_not_a_corner;
05956 else
05957 if (p[offset6] > cb)
05958 if (p[offset3] > cb)
05959 if (p[offset4] > cb)
05960 if (p[offset8] > cb)
05961 goto is_a_corner;
05962 else
05963 goto is_not_a_corner;
05964 else
05965 goto is_not_a_corner;
05966 else
05967 goto is_not_a_corner;
05968 else
05969 goto is_not_a_corner;
05970 else
05971 if (p[offset6] < c_b)
05972 goto is_not_a_corner;
05973 else
05974 if (p[offset6] > cb)
05975 if (p[offset3] > cb)
05976 if (p[offset4] > cb)
05977 if (p[offset8] > cb)
05978 goto is_a_corner;
05979 else
05980 goto is_not_a_corner;
05981 else
05982 goto is_not_a_corner;
05983 else
05984 goto is_not_a_corner;
05985 else
05986 goto is_not_a_corner;
05987 else
05988 goto is_not_a_corner;
05989 else
05990 if (p[offset2] < c_b)
05991 if (p[offset7] < c_b)
05992 if (p[offset9] > cb)
05993 if (p[offset1] > cb)
05994 goto is_not_a_corner;
05995 else
05996 if (p[offset1] < c_b)
05997 if (p[offset6] > cb)
05998 if (p[offset3] < c_b)
05999 if (p[offset4] < c_b)
06000 if (p[offset10] < c_b)
06001 if (p[offset11] < c_b)
06002 goto is_a_corner;
06003 else
06004 goto is_not_a_corner;
06005 else
06006 goto is_not_a_corner;
06007 else
06008 goto is_not_a_corner;
06009 else
06010 goto is_not_a_corner;
06011 else
06012 if (p[offset6] < c_b)
06013 if (p[offset3] < c_b)
06014 if (p[offset4] < c_b)
06015 if (p[offset10] < c_b)
06016 if (p[offset11] < c_b)
06017 goto is_a_corner;
06018 else
06019 goto is_not_a_corner;
06020 else
06021 goto is_not_a_corner;
06022 else
06023 goto is_not_a_corner;
06024 else
06025 goto is_not_a_corner;
06026 else
06027 if (p[offset3] < c_b)
06028 if (p[offset4] < c_b)
06029 if (p[offset10] < c_b)
06030 if (p[offset11] < c_b)
06031 goto is_a_corner;
06032 else
06033 goto is_not_a_corner;
06034 else
06035 goto is_not_a_corner;
06036 else
06037 goto is_not_a_corner;
06038 else
06039 goto is_not_a_corner;
06040 else
06041 goto is_not_a_corner;
06042 else
06043 if (p[offset9] < c_b)
06044 if (p[offset1] > cb)
06045 if (p[offset6] > cb)
06046 goto is_not_a_corner;
06047 else
06048 if (p[offset6] < c_b)
06049 if (p[offset8] < c_b)
06050 if (p[offset10] < c_b)
06051 if (p[offset11] < c_b)
06052 goto is_a_corner;
06053 else
06054 goto is_not_a_corner;
06055 else
06056 goto is_not_a_corner;
06057 else
06058 goto is_not_a_corner;
06059 else
06060 goto is_not_a_corner;
06061 else
06062 if (p[offset1] < c_b)
06063 if (p[offset6] > cb)
06064 if (p[offset10] < c_b)
06065 if (p[offset11] < c_b)
06066 if (p[offset3] < c_b)
06067 goto is_a_corner;
06068 else
06069 if (p[offset8] < c_b)
06070 goto is_a_corner;
06071 else
06072 goto is_not_a_corner;
06073 else
06074 goto is_not_a_corner;
06075 else
06076 goto is_not_a_corner;
06077 else
06078 if (p[offset6] < c_b)
06079 if (p[offset10] < c_b)
06080 if (p[offset11] < c_b)
06081 if (p[offset3] < c_b)
06082 goto is_a_corner;
06083 else
06084 if (p[offset8] < c_b)
06085 goto is_a_corner;
06086 else
06087 goto is_not_a_corner;
06088 else
06089 goto is_not_a_corner;
06090 else
06091 goto is_not_a_corner;
06092 else
06093 if (p[offset10] < c_b)
06094 if (p[offset11] < c_b)
06095 if (p[offset3] < c_b)
06096 goto is_a_corner;
06097 else
06098 if (p[offset8] < c_b)
06099 goto is_a_corner;
06100 else
06101 goto is_not_a_corner;
06102 else
06103 goto is_not_a_corner;
06104 else
06105 goto is_not_a_corner;
06106 else
06107 if (p[offset6] > cb)
06108 goto is_not_a_corner;
06109 else
06110 if (p[offset6] < c_b)
06111 if (p[offset8] < c_b)
06112 if (p[offset10] < c_b)
06113 if (p[offset11] < c_b)
06114 goto is_a_corner;
06115 else
06116 goto is_not_a_corner;
06117 else
06118 goto is_not_a_corner;
06119 else
06120 goto is_not_a_corner;
06121 else
06122 goto is_not_a_corner;
06123 else
06124 if (p[offset1] > cb)
06125 goto is_not_a_corner;
06126 else
06127 if (p[offset1] < c_b)
06128 if (p[offset6] > cb)
06129 if (p[offset3] < c_b)
06130 if (p[offset4] < c_b)
06131 if (p[offset10] < c_b)
06132 if (p[offset11] < c_b)
06133 goto is_a_corner;
06134 else
06135 goto is_not_a_corner;
06136 else
06137 goto is_not_a_corner;
06138 else
06139 goto is_not_a_corner;
06140 else
06141 goto is_not_a_corner;
06142 else
06143 if (p[offset6] < c_b)
06144 if (p[offset3] < c_b)
06145 if (p[offset4] < c_b)
06146 if (p[offset10] < c_b)
06147 if (p[offset11] < c_b)
06148 goto is_a_corner;
06149 else
06150 goto is_not_a_corner;
06151 else
06152 goto is_not_a_corner;
06153 else
06154 goto is_not_a_corner;
06155 else
06156 goto is_not_a_corner;
06157 else
06158 if (p[offset3] < c_b)
06159 if (p[offset4] < c_b)
06160 if (p[offset10] < c_b)
06161 if (p[offset11] < c_b)
06162 goto is_a_corner;
06163 else
06164 goto is_not_a_corner;
06165 else
06166 goto is_not_a_corner;
06167 else
06168 goto is_not_a_corner;
06169 else
06170 goto is_not_a_corner;
06171 else
06172 goto is_not_a_corner;
06173 else
06174 if (p[offset7] > cb)
06175 if (p[offset9] < c_b)
06176 if (p[offset1] > cb)
06177 goto is_not_a_corner;
06178 else
06179 if (p[offset1] < c_b)
06180 if (p[offset6] > cb)
06181 if (p[offset10] < c_b)
06182 if (p[offset11] < c_b)
06183 if (p[offset3] < c_b)
06184 goto is_a_corner;
06185 else
06186 if (p[offset8] < c_b)
06187 goto is_a_corner;
06188 else
06189 goto is_not_a_corner;
06190 else
06191 goto is_not_a_corner;
06192 else
06193 goto is_not_a_corner;
06194 else
06195 if (p[offset6] < c_b)
06196 if (p[offset10] < c_b)
06197 if (p[offset11] < c_b)
06198 if (p[offset3] < c_b)
06199 goto is_a_corner;
06200 else
06201 if (p[offset8] < c_b)
06202 goto is_a_corner;
06203 else
06204 goto is_not_a_corner;
06205 else
06206 goto is_not_a_corner;
06207 else
06208 goto is_not_a_corner;
06209 else
06210 if (p[offset10] < c_b)
06211 if (p[offset11] < c_b)
06212 if (p[offset3] < c_b)
06213 goto is_a_corner;
06214 else
06215 if (p[offset8] < c_b)
06216 goto is_a_corner;
06217 else
06218 goto is_not_a_corner;
06219 else
06220 goto is_not_a_corner;
06221 else
06222 goto is_not_a_corner;
06223 else
06224 goto is_not_a_corner;
06225 else
06226 if (p[offset9] > cb)
06227 if (p[offset1] > cb)
06228 if (p[offset6] < c_b)
06229 goto is_not_a_corner;
06230 else
06231 if (p[offset6] > cb)
06232 if (p[offset8] > cb)
06233 if (p[offset4] > cb)
06234 if (p[offset3] > cb)
06235 goto is_a_corner;
06236 else
06237 if (p[offset10] > cb)
06238 goto is_a_corner;
06239 else
06240 goto is_not_a_corner;
06241 else
06242 if (p[offset10] > cb)
06243 if (p[offset11] > cb)
06244 goto is_a_corner;
06245 else
06246 goto is_not_a_corner;
06247 else
06248 goto is_not_a_corner;
06249 else
06250 goto is_not_a_corner;
06251 else
06252 goto is_not_a_corner;
06253 else
06254 if (p[offset1] < c_b)
06255 if (p[offset6] < c_b)
06256 if (p[offset3] < c_b)
06257 if (p[offset4] < c_b)
06258 if (p[offset10] < c_b)
06259 if (p[offset11] < c_b)
06260 goto is_a_corner;
06261 else
06262 goto is_not_a_corner;
06263 else
06264 goto is_not_a_corner;
06265 else
06266 goto is_not_a_corner;
06267 else
06268 goto is_not_a_corner;
06269 else
06270 if (p[offset6] > cb)
06271 if (p[offset4] < c_b)
06272 if (p[offset10] > cb)
06273 if (p[offset8] > cb)
06274 if (p[offset11] > cb)
06275 goto is_a_corner;
06276 else
06277 goto is_not_a_corner;
06278 else
06279 goto is_not_a_corner;
06280 else
06281 if (p[offset3] < c_b)
06282 if (p[offset11] < c_b)
06283 if (p[offset10] < c_b)
06284 goto is_a_corner;
06285 else
06286 goto is_not_a_corner;
06287 else
06288 goto is_not_a_corner;
06289 else
06290 goto is_not_a_corner;
06291 else
06292 if (p[offset8] > cb)
06293 if (p[offset10] > cb)
06294 if (p[offset4] > cb)
06295 goto is_a_corner;
06296 else
06297 if (p[offset11] > cb)
06298 goto is_a_corner;
06299 else
06300 goto is_not_a_corner;
06301 else
06302 if (p[offset3] > cb)
06303 if (p[offset4] > cb)
06304 goto is_a_corner;
06305 else
06306 goto is_not_a_corner;
06307 else
06308 goto is_not_a_corner;
06309 else
06310 goto is_not_a_corner;
06311 else
06312 if (p[offset3] < c_b)
06313 if (p[offset4] < c_b)
06314 if (p[offset10] < c_b)
06315 if (p[offset11] < c_b)
06316 goto is_a_corner;
06317 else
06318 goto is_not_a_corner;
06319 else
06320 goto is_not_a_corner;
06321 else
06322 goto is_not_a_corner;
06323 else
06324 goto is_not_a_corner;
06325 else
06326 if (p[offset6] < c_b)
06327 goto is_not_a_corner;
06328 else
06329 if (p[offset6] > cb)
06330 if (p[offset8] > cb)
06331 if (p[offset4] > cb)
06332 if (p[offset3] > cb)
06333 goto is_a_corner;
06334 else
06335 if (p[offset10] > cb)
06336 goto is_a_corner;
06337 else
06338 goto is_not_a_corner;
06339 else
06340 if (p[offset10] > cb)
06341 if (p[offset11] > cb)
06342 goto is_a_corner;
06343 else
06344 goto is_not_a_corner;
06345 else
06346 goto is_not_a_corner;
06347 else
06348 goto is_not_a_corner;
06349 else
06350 goto is_not_a_corner;
06351 else
06352 if (p[offset1] > cb)
06353 goto is_not_a_corner;
06354 else
06355 if (p[offset1] < c_b)
06356 if (p[offset6] > cb)
06357 if (p[offset3] < c_b)
06358 if (p[offset4] < c_b)
06359 if (p[offset10] < c_b)
06360 if (p[offset11] < c_b)
06361 goto is_a_corner;
06362 else
06363 goto is_not_a_corner;
06364 else
06365 goto is_not_a_corner;
06366 else
06367 goto is_not_a_corner;
06368 else
06369 goto is_not_a_corner;
06370 else
06371 if (p[offset6] < c_b)
06372 if (p[offset3] < c_b)
06373 if (p[offset4] < c_b)
06374 if (p[offset10] < c_b)
06375 if (p[offset11] < c_b)
06376 goto is_a_corner;
06377 else
06378 goto is_not_a_corner;
06379 else
06380 goto is_not_a_corner;
06381 else
06382 goto is_not_a_corner;
06383 else
06384 goto is_not_a_corner;
06385 else
06386 if (p[offset3] < c_b)
06387 if (p[offset4] < c_b)
06388 if (p[offset10] < c_b)
06389 if (p[offset11] < c_b)
06390 goto is_a_corner;
06391 else
06392 goto is_not_a_corner;
06393 else
06394 goto is_not_a_corner;
06395 else
06396 goto is_not_a_corner;
06397 else
06398 goto is_not_a_corner;
06399 else
06400 goto is_not_a_corner;
06401 else
06402 if (p[offset9] > cb)
06403 if (p[offset1] > cb)
06404 goto is_not_a_corner;
06405 else
06406 if (p[offset1] < c_b)
06407 if (p[offset6] > cb)
06408 if (p[offset3] < c_b)
06409 if (p[offset4] < c_b)
06410 if (p[offset10] < c_b)
06411 if (p[offset11] < c_b)
06412 goto is_a_corner;
06413 else
06414 goto is_not_a_corner;
06415 else
06416 goto is_not_a_corner;
06417 else
06418 goto is_not_a_corner;
06419 else
06420 goto is_not_a_corner;
06421 else
06422 if (p[offset6] < c_b)
06423 if (p[offset3] < c_b)
06424 if (p[offset4] < c_b)
06425 if (p[offset10] < c_b)
06426 if (p[offset11] < c_b)
06427 goto is_a_corner;
06428 else
06429 goto is_not_a_corner;
06430 else
06431 goto is_not_a_corner;
06432 else
06433 goto is_not_a_corner;
06434 else
06435 goto is_not_a_corner;
06436 else
06437 if (p[offset3] < c_b)
06438 if (p[offset4] < c_b)
06439 if (p[offset10] < c_b)
06440 if (p[offset11] < c_b)
06441 goto is_a_corner;
06442 else
06443 goto is_not_a_corner;
06444 else
06445 goto is_not_a_corner;
06446 else
06447 goto is_not_a_corner;
06448 else
06449 goto is_not_a_corner;
06450 else
06451 goto is_not_a_corner;
06452 else
06453 if (p[offset9] < c_b)
06454 if (p[offset1] > cb)
06455 goto is_not_a_corner;
06456 else
06457 if (p[offset1] < c_b)
06458 if (p[offset6] > cb)
06459 if (p[offset10] < c_b)
06460 if (p[offset11] < c_b)
06461 if (p[offset3] < c_b)
06462 goto is_a_corner;
06463 else
06464 if (p[offset8] < c_b)
06465 goto is_a_corner;
06466 else
06467 goto is_not_a_corner;
06468 else
06469 goto is_not_a_corner;
06470 else
06471 goto is_not_a_corner;
06472 else
06473 if (p[offset6] < c_b)
06474 if (p[offset10] < c_b)
06475 if (p[offset11] < c_b)
06476 if (p[offset3] < c_b)
06477 goto is_a_corner;
06478 else
06479 if (p[offset8] < c_b)
06480 goto is_a_corner;
06481 else
06482 goto is_not_a_corner;
06483 else
06484 goto is_not_a_corner;
06485 else
06486 goto is_not_a_corner;
06487 else
06488 if (p[offset10] < c_b)
06489 if (p[offset11] < c_b)
06490 if (p[offset3] < c_b)
06491 goto is_a_corner;
06492 else
06493 if (p[offset8] < c_b)
06494 goto is_a_corner;
06495 else
06496 goto is_not_a_corner;
06497 else
06498 goto is_not_a_corner;
06499 else
06500 goto is_not_a_corner;
06501 else
06502 goto is_not_a_corner;
06503 else
06504 if (p[offset1] > cb)
06505 goto is_not_a_corner;
06506 else
06507 if (p[offset1] < c_b)
06508 if (p[offset6] > cb)
06509 if (p[offset3] < c_b)
06510 if (p[offset4] < c_b)
06511 if (p[offset10] < c_b)
06512 if (p[offset11] < c_b)
06513 goto is_a_corner;
06514 else
06515 goto is_not_a_corner;
06516 else
06517 goto is_not_a_corner;
06518 else
06519 goto is_not_a_corner;
06520 else
06521 goto is_not_a_corner;
06522 else
06523 if (p[offset6] < c_b)
06524 if (p[offset3] < c_b)
06525 if (p[offset4] < c_b)
06526 if (p[offset10] < c_b)
06527 if (p[offset11] < c_b)
06528 goto is_a_corner;
06529 else
06530 goto is_not_a_corner;
06531 else
06532 goto is_not_a_corner;
06533 else
06534 goto is_not_a_corner;
06535 else
06536 goto is_not_a_corner;
06537 else
06538 if (p[offset3] < c_b)
06539 if (p[offset4] < c_b)
06540 if (p[offset10] < c_b)
06541 if (p[offset11] < c_b)
06542 goto is_a_corner;
06543 else
06544 goto is_not_a_corner;
06545 else
06546 goto is_not_a_corner;
06547 else
06548 goto is_not_a_corner;
06549 else
06550 goto is_not_a_corner;
06551 else
06552 goto is_not_a_corner;
06553 else
06554 if (p[offset7] > cb)
06555 if (p[offset9] < c_b)
06556 goto is_not_a_corner;
06557 else
06558 if (p[offset9] > cb)
06559 if (p[offset1] > cb)
06560 if (p[offset6] < c_b)
06561 goto is_not_a_corner;
06562 else
06563 if (p[offset6] > cb)
06564 if (p[offset8] > cb)
06565 if (p[offset4] > cb)
06566 if (p[offset3] > cb)
06567 goto is_a_corner;
06568 else
06569 if (p[offset10] > cb)
06570 goto is_a_corner;
06571 else
06572 goto is_not_a_corner;
06573 else
06574 if (p[offset10] > cb)
06575 if (p[offset11] > cb)
06576 goto is_a_corner;
06577 else
06578 goto is_not_a_corner;
06579 else
06580 goto is_not_a_corner;
06581 else
06582 goto is_not_a_corner;
06583 else
06584 goto is_not_a_corner;
06585 else
06586 if (p[offset1] < c_b)
06587 if (p[offset6] < c_b)
06588 goto is_not_a_corner;
06589 else
06590 if (p[offset6] > cb)
06591 if (p[offset8] > cb)
06592 if (p[offset4] > cb)
06593 if (p[offset3] > cb)
06594 goto is_a_corner;
06595 else
06596 if (p[offset10] > cb)
06597 goto is_a_corner;
06598 else
06599 goto is_not_a_corner;
06600 else
06601 if (p[offset10] > cb)
06602 if (p[offset11] > cb)
06603 goto is_a_corner;
06604 else
06605 goto is_not_a_corner;
06606 else
06607 goto is_not_a_corner;
06608 else
06609 goto is_not_a_corner;
06610 else
06611 goto is_not_a_corner;
06612 else
06613 if (p[offset6] < c_b)
06614 goto is_not_a_corner;
06615 else
06616 if (p[offset6] > cb)
06617 if (p[offset8] > cb)
06618 if (p[offset4] > cb)
06619 if (p[offset3] > cb)
06620 goto is_a_corner;
06621 else
06622 if (p[offset10] > cb)
06623 goto is_a_corner;
06624 else
06625 goto is_not_a_corner;
06626 else
06627 if (p[offset10] > cb)
06628 if (p[offset11] > cb)
06629 goto is_a_corner;
06630 else
06631 goto is_not_a_corner;
06632 else
06633 goto is_not_a_corner;
06634 else
06635 goto is_not_a_corner;
06636 else
06637 goto is_not_a_corner;
06638 else
06639 goto is_not_a_corner;
06640 else
06641 if (p[offset9] < c_b)
06642 if (p[offset7] < c_b)
06643 if (p[offset1] > cb)
06644 if (p[offset6] > cb)
06645 goto is_not_a_corner;
06646 else
06647 if (p[offset6] < c_b)
06648 if (p[offset8] < c_b)
06649 if (p[offset10] < c_b)
06650 if (p[offset11] < c_b)
06651 goto is_a_corner;
06652 else
06653 goto is_not_a_corner;
06654 else
06655 goto is_not_a_corner;
06656 else
06657 goto is_not_a_corner;
06658 else
06659 goto is_not_a_corner;
06660 else
06661 if (p[offset1] < c_b)
06662 if (p[offset6] > cb)
06663 if (p[offset8] < c_b)
06664 if (p[offset10] < c_b)
06665 if (p[offset11] < c_b)
06666 goto is_a_corner;
06667 else
06668 goto is_not_a_corner;
06669 else
06670 goto is_not_a_corner;
06671 else
06672 goto is_not_a_corner;
06673 else
06674 if (p[offset6] < c_b)
06675 if (p[offset8] < c_b)
06676 if (p[offset10] < c_b)
06677 if (p[offset11] < c_b)
06678 goto is_a_corner;
06679 else
06680 goto is_not_a_corner;
06681 else
06682 goto is_not_a_corner;
06683 else
06684 goto is_not_a_corner;
06685 else
06686 if (p[offset8] < c_b)
06687 if (p[offset10] < c_b)
06688 if (p[offset11] < c_b)
06689 goto is_a_corner;
06690 else
06691 goto is_not_a_corner;
06692 else
06693 goto is_not_a_corner;
06694 else
06695 goto is_not_a_corner;
06696 else
06697 if (p[offset6] > cb)
06698 goto is_not_a_corner;
06699 else
06700 if (p[offset6] < c_b)
06701 if (p[offset8] < c_b)
06702 if (p[offset10] < c_b)
06703 if (p[offset11] < c_b)
06704 goto is_a_corner;
06705 else
06706 goto is_not_a_corner;
06707 else
06708 goto is_not_a_corner;
06709 else
06710 goto is_not_a_corner;
06711 else
06712 goto is_not_a_corner;
06713 else
06714 goto is_not_a_corner;
06715 else
06716 goto is_not_a_corner;
06717 else
06718 if (p[offset2] > cb)
06719 if (p[offset7] < c_b)
06720 if (p[offset9] > cb)
06721 goto is_not_a_corner;
06722 else
06723 if (p[offset9] < c_b)
06724 if (p[offset1] > cb)
06725 if (p[offset6] > cb)
06726 goto is_not_a_corner;
06727 else
06728 if (p[offset6] < c_b)
06729 if (p[offset8] < c_b)
06730 if (p[offset10] < c_b)
06731 if (p[offset11] < c_b)
06732 goto is_a_corner;
06733 else
06734 goto is_not_a_corner;
06735 else
06736 goto is_not_a_corner;
06737 else
06738 goto is_not_a_corner;
06739 else
06740 goto is_not_a_corner;
06741 else
06742 if (p[offset1] < c_b)
06743 if (p[offset6] > cb)
06744 if (p[offset8] < c_b)
06745 if (p[offset10] < c_b)
06746 if (p[offset11] < c_b)
06747 goto is_a_corner;
06748 else
06749 goto is_not_a_corner;
06750 else
06751 goto is_not_a_corner;
06752 else
06753 goto is_not_a_corner;
06754 else
06755 if (p[offset6] < c_b)
06756 if (p[offset8] < c_b)
06757 if (p[offset10] < c_b)
06758 if (p[offset11] < c_b)
06759 goto is_a_corner;
06760 else
06761 goto is_not_a_corner;
06762 else
06763 goto is_not_a_corner;
06764 else
06765 goto is_not_a_corner;
06766 else
06767 if (p[offset8] < c_b)
06768 if (p[offset10] < c_b)
06769 if (p[offset11] < c_b)
06770 goto is_a_corner;
06771 else
06772 goto is_not_a_corner;
06773 else
06774 goto is_not_a_corner;
06775 else
06776 goto is_not_a_corner;
06777 else
06778 if (p[offset6] > cb)
06779 goto is_not_a_corner;
06780 else
06781 if (p[offset6] < c_b)
06782 if (p[offset8] < c_b)
06783 if (p[offset10] < c_b)
06784 if (p[offset11] < c_b)
06785 goto is_a_corner;
06786 else
06787 goto is_not_a_corner;
06788 else
06789 goto is_not_a_corner;
06790 else
06791 goto is_not_a_corner;
06792 else
06793 goto is_not_a_corner;
06794 else
06795 goto is_not_a_corner;
06796 else
06797 goto is_not_a_corner;
06798 else
06799 if (p[offset2] < c_b)
06800 if (p[offset7] > cb)
06801 if (p[offset9] > cb)
06802 if (p[offset1] > cb)
06803 goto is_not_a_corner;
06804 else
06805 if (p[offset1] < c_b)
06806 if (p[offset6] > cb)
06807 if (p[offset3] < c_b)
06808 if (p[offset4] < c_b)
06809 if (p[offset10] < c_b)
06810 if (p[offset11] < c_b)
06811 goto is_a_corner;
06812 else
06813 goto is_not_a_corner;
06814 else
06815 goto is_not_a_corner;
06816 else
06817 goto is_not_a_corner;
06818 else
06819 goto is_not_a_corner;
06820 else
06821 if (p[offset6] < c_b)
06822 if (p[offset3] < c_b)
06823 if (p[offset4] < c_b)
06824 if (p[offset10] < c_b)
06825 if (p[offset11] < c_b)
06826 goto is_a_corner;
06827 else
06828 goto is_not_a_corner;
06829 else
06830 goto is_not_a_corner;
06831 else
06832 goto is_not_a_corner;
06833 else
06834 goto is_not_a_corner;
06835 else
06836 if (p[offset3] < c_b)
06837 if (p[offset4] < c_b)
06838 if (p[offset10] < c_b)
06839 if (p[offset11] < c_b)
06840 goto is_a_corner;
06841 else
06842 goto is_not_a_corner;
06843 else
06844 goto is_not_a_corner;
06845 else
06846 goto is_not_a_corner;
06847 else
06848 goto is_not_a_corner;
06849 else
06850 goto is_not_a_corner;
06851 else
06852 if (p[offset9] < c_b)
06853 if (p[offset1] > cb)
06854 goto is_not_a_corner;
06855 else
06856 if (p[offset1] < c_b)
06857 if (p[offset6] > cb)
06858 if (p[offset10] < c_b)
06859 if (p[offset11] < c_b)
06860 if (p[offset3] < c_b)
06861 goto is_a_corner;
06862 else
06863 if (p[offset8] < c_b)
06864 goto is_a_corner;
06865 else
06866 goto is_not_a_corner;
06867 else
06868 goto is_not_a_corner;
06869 else
06870 goto is_not_a_corner;
06871 else
06872 if (p[offset6] < c_b)
06873 if (p[offset10] < c_b)
06874 if (p[offset11] < c_b)
06875 if (p[offset3] < c_b)
06876 goto is_a_corner;
06877 else
06878 if (p[offset8] < c_b)
06879 goto is_a_corner;
06880 else
06881 goto is_not_a_corner;
06882 else
06883 goto is_not_a_corner;
06884 else
06885 goto is_not_a_corner;
06886 else
06887 if (p[offset10] < c_b)
06888 if (p[offset11] < c_b)
06889 if (p[offset3] < c_b)
06890 goto is_a_corner;
06891 else
06892 if (p[offset8] < c_b)
06893 goto is_a_corner;
06894 else
06895 goto is_not_a_corner;
06896 else
06897 goto is_not_a_corner;
06898 else
06899 goto is_not_a_corner;
06900 else
06901 goto is_not_a_corner;
06902 else
06903 if (p[offset1] > cb)
06904 goto is_not_a_corner;
06905 else
06906 if (p[offset1] < c_b)
06907 if (p[offset6] > cb)
06908 if (p[offset3] < c_b)
06909 if (p[offset4] < c_b)
06910 if (p[offset10] < c_b)
06911 if (p[offset11] < c_b)
06912 goto is_a_corner;
06913 else
06914 goto is_not_a_corner;
06915 else
06916 goto is_not_a_corner;
06917 else
06918 goto is_not_a_corner;
06919 else
06920 goto is_not_a_corner;
06921 else
06922 if (p[offset6] < c_b)
06923 if (p[offset3] < c_b)
06924 if (p[offset4] < c_b)
06925 if (p[offset10] < c_b)
06926 if (p[offset11] < c_b)
06927 goto is_a_corner;
06928 else
06929 goto is_not_a_corner;
06930 else
06931 goto is_not_a_corner;
06932 else
06933 goto is_not_a_corner;
06934 else
06935 goto is_not_a_corner;
06936 else
06937 if (p[offset3] < c_b)
06938 if (p[offset4] < c_b)
06939 if (p[offset10] < c_b)
06940 if (p[offset11] < c_b)
06941 goto is_a_corner;
06942 else
06943 goto is_not_a_corner;
06944 else
06945 goto is_not_a_corner;
06946 else
06947 goto is_not_a_corner;
06948 else
06949 goto is_not_a_corner;
06950 else
06951 goto is_not_a_corner;
06952 else
06953 if (p[offset9] > cb)
06954 if (p[offset7] < c_b)
06955 if (p[offset1] > cb)
06956 goto is_not_a_corner;
06957 else
06958 if (p[offset1] < c_b)
06959 if (p[offset6] > cb)
06960 if (p[offset3] < c_b)
06961 if (p[offset4] < c_b)
06962 if (p[offset10] < c_b)
06963 if (p[offset11] < c_b)
06964 goto is_a_corner;
06965 else
06966 goto is_not_a_corner;
06967 else
06968 goto is_not_a_corner;
06969 else
06970 goto is_not_a_corner;
06971 else
06972 goto is_not_a_corner;
06973 else
06974 if (p[offset6] < c_b)
06975 if (p[offset3] < c_b)
06976 if (p[offset4] < c_b)
06977 if (p[offset10] < c_b)
06978 if (p[offset11] < c_b)
06979 goto is_a_corner;
06980 else
06981 goto is_not_a_corner;
06982 else
06983 goto is_not_a_corner;
06984 else
06985 goto is_not_a_corner;
06986 else
06987 goto is_not_a_corner;
06988 else
06989 if (p[offset3] < c_b)
06990 if (p[offset4] < c_b)
06991 if (p[offset10] < c_b)
06992 if (p[offset11] < c_b)
06993 goto is_a_corner;
06994 else
06995 goto is_not_a_corner;
06996 else
06997 goto is_not_a_corner;
06998 else
06999 goto is_not_a_corner;
07000 else
07001 goto is_not_a_corner;
07002 else
07003 goto is_not_a_corner;
07004 else
07005 if (p[offset1] > cb)
07006 goto is_not_a_corner;
07007 else
07008 if (p[offset1] < c_b)
07009 if (p[offset6] > cb)
07010 if (p[offset3] < c_b)
07011 if (p[offset4] < c_b)
07012 if (p[offset10] < c_b)
07013 if (p[offset11] < c_b)
07014 goto is_a_corner;
07015 else
07016 goto is_not_a_corner;
07017 else
07018 goto is_not_a_corner;
07019 else
07020 goto is_not_a_corner;
07021 else
07022 goto is_not_a_corner;
07023 else
07024 if (p[offset6] < c_b)
07025 if (p[offset3] < c_b)
07026 if (p[offset4] < c_b)
07027 if (p[offset10] < c_b)
07028 if (p[offset11] < c_b)
07029 goto is_a_corner;
07030 else
07031 goto is_not_a_corner;
07032 else
07033 goto is_not_a_corner;
07034 else
07035 goto is_not_a_corner;
07036 else
07037 goto is_not_a_corner;
07038 else
07039 if (p[offset3] < c_b)
07040 if (p[offset4] < c_b)
07041 if (p[offset10] < c_b)
07042 if (p[offset11] < c_b)
07043 goto is_a_corner;
07044 else
07045 goto is_not_a_corner;
07046 else
07047 goto is_not_a_corner;
07048 else
07049 goto is_not_a_corner;
07050 else
07051 goto is_not_a_corner;
07052 else
07053 goto is_not_a_corner;
07054 else
07055 if (p[offset7] < c_b)
07056 if (p[offset9] < c_b)
07057 if (p[offset1] > cb)
07058 if (p[offset6] > cb)
07059 goto is_not_a_corner;
07060 else
07061 if (p[offset6] < c_b)
07062 if (p[offset8] < c_b)
07063 if (p[offset10] < c_b)
07064 if (p[offset11] < c_b)
07065 goto is_a_corner;
07066 else
07067 goto is_not_a_corner;
07068 else
07069 goto is_not_a_corner;
07070 else
07071 goto is_not_a_corner;
07072 else
07073 goto is_not_a_corner;
07074 else
07075 if (p[offset1] < c_b)
07076 if (p[offset6] > cb)
07077 if (p[offset10] < c_b)
07078 if (p[offset11] < c_b)
07079 if (p[offset3] < c_b)
07080 goto is_a_corner;
07081 else
07082 if (p[offset8] < c_b)
07083 goto is_a_corner;
07084 else
07085 goto is_not_a_corner;
07086 else
07087 goto is_not_a_corner;
07088 else
07089 goto is_not_a_corner;
07090 else
07091 if (p[offset6] < c_b)
07092 if (p[offset10] < c_b)
07093 if (p[offset11] < c_b)
07094 if (p[offset3] < c_b)
07095 goto is_a_corner;
07096 else
07097 if (p[offset8] < c_b)
07098 goto is_a_corner;
07099 else
07100 goto is_not_a_corner;
07101 else
07102 goto is_not_a_corner;
07103 else
07104 goto is_not_a_corner;
07105 else
07106 if (p[offset10] < c_b)
07107 if (p[offset11] < c_b)
07108 if (p[offset3] < c_b)
07109 goto is_a_corner;
07110 else
07111 if (p[offset8] < c_b)
07112 goto is_a_corner;
07113 else
07114 goto is_not_a_corner;
07115 else
07116 goto is_not_a_corner;
07117 else
07118 goto is_not_a_corner;
07119 else
07120 if (p[offset6] > cb)
07121 goto is_not_a_corner;
07122 else
07123 if (p[offset6] < c_b)
07124 if (p[offset8] < c_b)
07125 if (p[offset10] < c_b)
07126 if (p[offset11] < c_b)
07127 goto is_a_corner;
07128 else
07129 goto is_not_a_corner;
07130 else
07131 goto is_not_a_corner;
07132 else
07133 goto is_not_a_corner;
07134 else
07135 goto is_not_a_corner;
07136 else
07137 if (p[offset1] > cb)
07138 goto is_not_a_corner;
07139 else
07140 if (p[offset1] < c_b)
07141 if (p[offset6] > cb)
07142 if (p[offset3] < c_b)
07143 if (p[offset4] < c_b)
07144 if (p[offset10] < c_b)
07145 if (p[offset11] < c_b)
07146 goto is_a_corner;
07147 else
07148 goto is_not_a_corner;
07149 else
07150 goto is_not_a_corner;
07151 else
07152 goto is_not_a_corner;
07153 else
07154 goto is_not_a_corner;
07155 else
07156 if (p[offset6] < c_b)
07157 if (p[offset3] < c_b)
07158 if (p[offset4] < c_b)
07159 if (p[offset10] < c_b)
07160 if (p[offset11] < c_b)
07161 goto is_a_corner;
07162 else
07163 goto is_not_a_corner;
07164 else
07165 goto is_not_a_corner;
07166 else
07167 goto is_not_a_corner;
07168 else
07169 goto is_not_a_corner;
07170 else
07171 if (p[offset3] < c_b)
07172 if (p[offset4] < c_b)
07173 if (p[offset10] < c_b)
07174 if (p[offset11] < c_b)
07175 goto is_a_corner;
07176 else
07177 goto is_not_a_corner;
07178 else
07179 goto is_not_a_corner;
07180 else
07181 goto is_not_a_corner;
07182 else
07183 goto is_not_a_corner;
07184 else
07185 goto is_not_a_corner;
07186 else
07187 if (p[offset9] < c_b)
07188 if (p[offset1] > cb)
07189 goto is_not_a_corner;
07190 else
07191 if (p[offset1] < c_b)
07192 if (p[offset6] > cb)
07193 if (p[offset10] < c_b)
07194 if (p[offset11] < c_b)
07195 if (p[offset3] < c_b)
07196 goto is_a_corner;
07197 else
07198 if (p[offset8] < c_b)
07199 goto is_a_corner;
07200 else
07201 goto is_not_a_corner;
07202 else
07203 goto is_not_a_corner;
07204 else
07205 goto is_not_a_corner;
07206 else
07207 if (p[offset6] < c_b)
07208 if (p[offset10] < c_b)
07209 if (p[offset11] < c_b)
07210 if (p[offset3] < c_b)
07211 goto is_a_corner;
07212 else
07213 if (p[offset8] < c_b)
07214 goto is_a_corner;
07215 else
07216 goto is_not_a_corner;
07217 else
07218 goto is_not_a_corner;
07219 else
07220 goto is_not_a_corner;
07221 else
07222 if (p[offset10] < c_b)
07223 if (p[offset11] < c_b)
07224 if (p[offset3] < c_b)
07225 goto is_a_corner;
07226 else
07227 if (p[offset8] < c_b)
07228 goto is_a_corner;
07229 else
07230 goto is_not_a_corner;
07231 else
07232 goto is_not_a_corner;
07233 else
07234 goto is_not_a_corner;
07235 else
07236 goto is_not_a_corner;
07237 else
07238 if (p[offset1] > cb)
07239 goto is_not_a_corner;
07240 else
07241 if (p[offset1] < c_b)
07242 if (p[offset6] > cb)
07243 if (p[offset3] < c_b)
07244 if (p[offset4] < c_b)
07245 if (p[offset10] < c_b)
07246 if (p[offset11] < c_b)
07247 goto is_a_corner;
07248 else
07249 goto is_not_a_corner;
07250 else
07251 goto is_not_a_corner;
07252 else
07253 goto is_not_a_corner;
07254 else
07255 goto is_not_a_corner;
07256 else
07257 if (p[offset6] < c_b)
07258 if (p[offset3] < c_b)
07259 if (p[offset4] < c_b)
07260 if (p[offset10] < c_b)
07261 if (p[offset11] < c_b)
07262 goto is_a_corner;
07263 else
07264 goto is_not_a_corner;
07265 else
07266 goto is_not_a_corner;
07267 else
07268 goto is_not_a_corner;
07269 else
07270 goto is_not_a_corner;
07271 else
07272 if (p[offset3] < c_b)
07273 if (p[offset4] < c_b)
07274 if (p[offset10] < c_b)
07275 if (p[offset11] < c_b)
07276 goto is_a_corner;
07277 else
07278 goto is_not_a_corner;
07279 else
07280 goto is_not_a_corner;
07281 else
07282 goto is_not_a_corner;
07283 else
07284 goto is_not_a_corner;
07285 else
07286 goto is_not_a_corner;
07287 else
07288 if (p[offset7] < c_b)
07289 if (p[offset9] > cb)
07290 goto is_not_a_corner;
07291 else
07292 if (p[offset9] < c_b)
07293 if (p[offset1] > cb)
07294 if (p[offset6] > cb)
07295 goto is_not_a_corner;
07296 else
07297 if (p[offset6] < c_b)
07298 if (p[offset8] < c_b)
07299 if (p[offset10] < c_b)
07300 if (p[offset11] < c_b)
07301 goto is_a_corner;
07302 else
07303 goto is_not_a_corner;
07304 else
07305 goto is_not_a_corner;
07306 else
07307 goto is_not_a_corner;
07308 else
07309 goto is_not_a_corner;
07310 else
07311 if (p[offset1] < c_b)
07312 if (p[offset6] > cb)
07313 if (p[offset8] < c_b)
07314 if (p[offset10] < c_b)
07315 if (p[offset11] < c_b)
07316 goto is_a_corner;
07317 else
07318 goto is_not_a_corner;
07319 else
07320 goto is_not_a_corner;
07321 else
07322 goto is_not_a_corner;
07323 else
07324 if (p[offset6] < c_b)
07325 if (p[offset8] < c_b)
07326 if (p[offset10] < c_b)
07327 if (p[offset11] < c_b)
07328 goto is_a_corner;
07329 else
07330 goto is_not_a_corner;
07331 else
07332 goto is_not_a_corner;
07333 else
07334 goto is_not_a_corner;
07335 else
07336 if (p[offset8] < c_b)
07337 if (p[offset10] < c_b)
07338 if (p[offset11] < c_b)
07339 goto is_a_corner;
07340 else
07341 goto is_not_a_corner;
07342 else
07343 goto is_not_a_corner;
07344 else
07345 goto is_not_a_corner;
07346 else
07347 if (p[offset6] > cb)
07348 goto is_not_a_corner;
07349 else
07350 if (p[offset6] < c_b)
07351 if (p[offset8] < c_b)
07352 if (p[offset10] < c_b)
07353 if (p[offset11] < c_b)
07354 goto is_a_corner;
07355 else
07356 goto is_not_a_corner;
07357 else
07358 goto is_not_a_corner;
07359 else
07360 goto is_not_a_corner;
07361 else
07362 goto is_not_a_corner;
07363 else
07364 goto is_not_a_corner;
07365 else
07366 goto is_not_a_corner;
07367 else
07368 if (p[offset5] < c_b)
07369 if (p[offset7] > cb)
07370 goto is_not_a_corner;
07371 else
07372 if (p[offset7] < c_b)
07373 if (p[offset2] > cb)
07374 if (p[offset9] > cb)
07375 goto is_not_a_corner;
07376 else
07377 if (p[offset9] < c_b)
07378 if (p[offset1] > cb)
07379 if (p[offset6] > cb)
07380 goto is_not_a_corner;
07381 else
07382 if (p[offset6] < c_b)
07383 if (p[offset8] < c_b)
07384 if (p[offset4] < c_b)
07385 if (p[offset3] < c_b)
07386 goto is_a_corner;
07387 else
07388 if (p[offset10] < c_b)
07389 goto is_a_corner;
07390 else
07391 goto is_not_a_corner;
07392 else
07393 if (p[offset10] < c_b)
07394 if (p[offset11] < c_b)
07395 goto is_a_corner;
07396 else
07397 goto is_not_a_corner;
07398 else
07399 goto is_not_a_corner;
07400 else
07401 goto is_not_a_corner;
07402 else
07403 goto is_not_a_corner;
07404 else
07405 if (p[offset1] < c_b)
07406 if (p[offset6] > cb)
07407 goto is_not_a_corner;
07408 else
07409 if (p[offset6] < c_b)
07410 if (p[offset8] < c_b)
07411 if (p[offset4] < c_b)
07412 if (p[offset3] < c_b)
07413 goto is_a_corner;
07414 else
07415 if (p[offset10] < c_b)
07416 goto is_a_corner;
07417 else
07418 goto is_not_a_corner;
07419 else
07420 if (p[offset10] < c_b)
07421 if (p[offset11] < c_b)
07422 goto is_a_corner;
07423 else
07424 goto is_not_a_corner;
07425 else
07426 goto is_not_a_corner;
07427 else
07428 goto is_not_a_corner;
07429 else
07430 goto is_not_a_corner;
07431 else
07432 if (p[offset6] > cb)
07433 goto is_not_a_corner;
07434 else
07435 if (p[offset6] < c_b)
07436 if (p[offset8] < c_b)
07437 if (p[offset4] < c_b)
07438 if (p[offset3] < c_b)
07439 goto is_a_corner;
07440 else
07441 if (p[offset10] < c_b)
07442 goto is_a_corner;
07443 else
07444 goto is_not_a_corner;
07445 else
07446 if (p[offset10] < c_b)
07447 if (p[offset11] < c_b)
07448 goto is_a_corner;
07449 else
07450 goto is_not_a_corner;
07451 else
07452 goto is_not_a_corner;
07453 else
07454 goto is_not_a_corner;
07455 else
07456 goto is_not_a_corner;
07457 else
07458 goto is_not_a_corner;
07459 else
07460 if (p[offset2] < c_b)
07461 if (p[offset9] > cb)
07462 if (p[offset1] < c_b)
07463 if (p[offset6] > cb)
07464 goto is_not_a_corner;
07465 else
07466 if (p[offset6] < c_b)
07467 if (p[offset3] < c_b)
07468 if (p[offset4] < c_b)
07469 goto is_a_corner;
07470 else
07471 goto is_not_a_corner;
07472 else
07473 goto is_not_a_corner;
07474 else
07475 goto is_not_a_corner;
07476 else
07477 if (p[offset1] > cb)
07478 if (p[offset6] > cb)
07479 goto is_not_a_corner;
07480 else
07481 if (p[offset6] < c_b)
07482 if (p[offset3] < c_b)
07483 if (p[offset4] < c_b)
07484 if (p[offset8] < c_b)
07485 goto is_a_corner;
07486 else
07487 goto is_not_a_corner;
07488 else
07489 goto is_not_a_corner;
07490 else
07491 goto is_not_a_corner;
07492 else
07493 goto is_not_a_corner;
07494 else
07495 if (p[offset6] > cb)
07496 goto is_not_a_corner;
07497 else
07498 if (p[offset6] < c_b)
07499 if (p[offset3] < c_b)
07500 if (p[offset4] < c_b)
07501 if (p[offset8] < c_b)
07502 goto is_a_corner;
07503 else
07504 goto is_not_a_corner;
07505 else
07506 goto is_not_a_corner;
07507 else
07508 goto is_not_a_corner;
07509 else
07510 goto is_not_a_corner;
07511 else
07512 if (p[offset9] < c_b)
07513 if (p[offset1] > cb)
07514 if (p[offset6] > cb)
07515 goto is_not_a_corner;
07516 else
07517 if (p[offset6] < c_b)
07518 if (p[offset8] < c_b)
07519 if (p[offset4] < c_b)
07520 if (p[offset3] < c_b)
07521 goto is_a_corner;
07522 else
07523 if (p[offset10] < c_b)
07524 goto is_a_corner;
07525 else
07526 goto is_not_a_corner;
07527 else
07528 if (p[offset10] < c_b)
07529 if (p[offset11] < c_b)
07530 goto is_a_corner;
07531 else
07532 goto is_not_a_corner;
07533 else
07534 goto is_not_a_corner;
07535 else
07536 goto is_not_a_corner;
07537 else
07538 goto is_not_a_corner;
07539 else
07540 if (p[offset1] < c_b)
07541 if (p[offset6] > cb)
07542 goto is_not_a_corner;
07543 else
07544 if (p[offset6] < c_b)
07545 if (p[offset4] < c_b)
07546 if (p[offset3] < c_b)
07547 goto is_a_corner;
07548 else
07549 if (p[offset8] < c_b)
07550 if (p[offset10] < c_b)
07551 goto is_a_corner;
07552 else
07553 goto is_not_a_corner;
07554 else
07555 goto is_not_a_corner;
07556 else
07557 if (p[offset8] < c_b)
07558 if (p[offset10] < c_b)
07559 if (p[offset11] < c_b)
07560 goto is_a_corner;
07561 else
07562 goto is_not_a_corner;
07563 else
07564 goto is_not_a_corner;
07565 else
07566 goto is_not_a_corner;
07567 else
07568 goto is_not_a_corner;
07569 else
07570 if (p[offset6] > cb)
07571 goto is_not_a_corner;
07572 else
07573 if (p[offset6] < c_b)
07574 if (p[offset8] < c_b)
07575 if (p[offset4] < c_b)
07576 if (p[offset3] < c_b)
07577 goto is_a_corner;
07578 else
07579 if (p[offset10] < c_b)
07580 goto is_a_corner;
07581 else
07582 goto is_not_a_corner;
07583 else
07584 if (p[offset10] < c_b)
07585 if (p[offset11] < c_b)
07586 goto is_a_corner;
07587 else
07588 goto is_not_a_corner;
07589 else
07590 goto is_not_a_corner;
07591 else
07592 goto is_not_a_corner;
07593 else
07594 goto is_not_a_corner;
07595 else
07596 if (p[offset1] < c_b)
07597 if (p[offset6] > cb)
07598 goto is_not_a_corner;
07599 else
07600 if (p[offset6] < c_b)
07601 if (p[offset3] < c_b)
07602 if (p[offset4] < c_b)
07603 goto is_a_corner;
07604 else
07605 goto is_not_a_corner;
07606 else
07607 goto is_not_a_corner;
07608 else
07609 goto is_not_a_corner;
07610 else
07611 if (p[offset1] > cb)
07612 if (p[offset6] > cb)
07613 goto is_not_a_corner;
07614 else
07615 if (p[offset6] < c_b)
07616 if (p[offset3] < c_b)
07617 if (p[offset4] < c_b)
07618 if (p[offset8] < c_b)
07619 goto is_a_corner;
07620 else
07621 goto is_not_a_corner;
07622 else
07623 goto is_not_a_corner;
07624 else
07625 goto is_not_a_corner;
07626 else
07627 goto is_not_a_corner;
07628 else
07629 if (p[offset6] > cb)
07630 goto is_not_a_corner;
07631 else
07632 if (p[offset6] < c_b)
07633 if (p[offset3] < c_b)
07634 if (p[offset4] < c_b)
07635 if (p[offset8] < c_b)
07636 goto is_a_corner;
07637 else
07638 goto is_not_a_corner;
07639 else
07640 goto is_not_a_corner;
07641 else
07642 goto is_not_a_corner;
07643 else
07644 goto is_not_a_corner;
07645 else
07646 if (p[offset9] > cb)
07647 goto is_not_a_corner;
07648 else
07649 if (p[offset9] < c_b)
07650 if (p[offset1] > cb)
07651 if (p[offset6] > cb)
07652 goto is_not_a_corner;
07653 else
07654 if (p[offset6] < c_b)
07655 if (p[offset8] < c_b)
07656 if (p[offset4] < c_b)
07657 if (p[offset3] < c_b)
07658 goto is_a_corner;
07659 else
07660 if (p[offset10] < c_b)
07661 goto is_a_corner;
07662 else
07663 goto is_not_a_corner;
07664 else
07665 if (p[offset10] < c_b)
07666 if (p[offset11] < c_b)
07667 goto is_a_corner;
07668 else
07669 goto is_not_a_corner;
07670 else
07671 goto is_not_a_corner;
07672 else
07673 goto is_not_a_corner;
07674 else
07675 goto is_not_a_corner;
07676 else
07677 if (p[offset1] < c_b)
07678 if (p[offset6] > cb)
07679 goto is_not_a_corner;
07680 else
07681 if (p[offset6] < c_b)
07682 if (p[offset8] < c_b)
07683 if (p[offset4] < c_b)
07684 if (p[offset3] < c_b)
07685 goto is_a_corner;
07686 else
07687 if (p[offset10] < c_b)
07688 goto is_a_corner;
07689 else
07690 goto is_not_a_corner;
07691 else
07692 if (p[offset10] < c_b)
07693 if (p[offset11] < c_b)
07694 goto is_a_corner;
07695 else
07696 goto is_not_a_corner;
07697 else
07698 goto is_not_a_corner;
07699 else
07700 goto is_not_a_corner;
07701 else
07702 goto is_not_a_corner;
07703 else
07704 if (p[offset6] > cb)
07705 goto is_not_a_corner;
07706 else
07707 if (p[offset6] < c_b)
07708 if (p[offset8] < c_b)
07709 if (p[offset4] < c_b)
07710 if (p[offset3] < c_b)
07711 goto is_a_corner;
07712 else
07713 if (p[offset10] < c_b)
07714 goto is_a_corner;
07715 else
07716 goto is_not_a_corner;
07717 else
07718 if (p[offset10] < c_b)
07719 if (p[offset11] < c_b)
07720 goto is_a_corner;
07721 else
07722 goto is_not_a_corner;
07723 else
07724 goto is_not_a_corner;
07725 else
07726 goto is_not_a_corner;
07727 else
07728 goto is_not_a_corner;
07729 else
07730 goto is_not_a_corner;
07731 else
07732 goto is_not_a_corner;
07733 else
07734 if (p[offset5] > cb)
07735 if (p[offset7] > cb)
07736 if (p[offset2] < c_b)
07737 if (p[offset9] < c_b)
07738 goto is_not_a_corner;
07739 else
07740 if (p[offset9] > cb)
07741 if (p[offset1] > cb)
07742 if (p[offset6] < c_b)
07743 goto is_not_a_corner;
07744 else
07745 if (p[offset6] > cb)
07746 if (p[offset8] > cb)
07747 if (p[offset4] > cb)
07748 if (p[offset3] > cb)
07749 goto is_a_corner;
07750 else
07751 if (p[offset10] > cb)
07752 goto is_a_corner;
07753 else
07754 goto is_not_a_corner;
07755 else
07756 if (p[offset10] > cb)
07757 if (p[offset11] > cb)
07758 goto is_a_corner;
07759 else
07760 goto is_not_a_corner;
07761 else
07762 goto is_not_a_corner;
07763 else
07764 goto is_not_a_corner;
07765 else
07766 goto is_not_a_corner;
07767 else
07768 if (p[offset1] < c_b)
07769 if (p[offset6] < c_b)
07770 goto is_not_a_corner;
07771 else
07772 if (p[offset6] > cb)
07773 if (p[offset8] > cb)
07774 if (p[offset4] > cb)
07775 if (p[offset3] > cb)
07776 goto is_a_corner;
07777 else
07778 if (p[offset10] > cb)
07779 goto is_a_corner;
07780 else
07781 goto is_not_a_corner;
07782 else
07783 if (p[offset10] > cb)
07784 if (p[offset11] > cb)
07785 goto is_a_corner;
07786 else
07787 goto is_not_a_corner;
07788 else
07789 goto is_not_a_corner;
07790 else
07791 goto is_not_a_corner;
07792 else
07793 goto is_not_a_corner;
07794 else
07795 if (p[offset6] < c_b)
07796 goto is_not_a_corner;
07797 else
07798 if (p[offset6] > cb)
07799 if (p[offset8] > cb)
07800 if (p[offset4] > cb)
07801 if (p[offset3] > cb)
07802 goto is_a_corner;
07803 else
07804 if (p[offset10] > cb)
07805 goto is_a_corner;
07806 else
07807 goto is_not_a_corner;
07808 else
07809 if (p[offset10] > cb)
07810 if (p[offset11] > cb)
07811 goto is_a_corner;
07812 else
07813 goto is_not_a_corner;
07814 else
07815 goto is_not_a_corner;
07816 else
07817 goto is_not_a_corner;
07818 else
07819 goto is_not_a_corner;
07820 else
07821 goto is_not_a_corner;
07822 else
07823 if (p[offset2] > cb)
07824 if (p[offset9] < c_b)
07825 if (p[offset1] > cb)
07826 if (p[offset6] < c_b)
07827 goto is_not_a_corner;
07828 else
07829 if (p[offset6] > cb)
07830 if (p[offset3] > cb)
07831 if (p[offset4] > cb)
07832 goto is_a_corner;
07833 else
07834 goto is_not_a_corner;
07835 else
07836 goto is_not_a_corner;
07837 else
07838 goto is_not_a_corner;
07839 else
07840 if (p[offset1] < c_b)
07841 if (p[offset6] < c_b)
07842 goto is_not_a_corner;
07843 else
07844 if (p[offset6] > cb)
07845 if (p[offset3] > cb)
07846 if (p[offset4] > cb)
07847 if (p[offset8] > cb)
07848 goto is_a_corner;
07849 else
07850 goto is_not_a_corner;
07851 else
07852 goto is_not_a_corner;
07853 else
07854 goto is_not_a_corner;
07855 else
07856 goto is_not_a_corner;
07857 else
07858 if (p[offset6] < c_b)
07859 goto is_not_a_corner;
07860 else
07861 if (p[offset6] > cb)
07862 if (p[offset3] > cb)
07863 if (p[offset4] > cb)
07864 if (p[offset8] > cb)
07865 goto is_a_corner;
07866 else
07867 goto is_not_a_corner;
07868 else
07869 goto is_not_a_corner;
07870 else
07871 goto is_not_a_corner;
07872 else
07873 goto is_not_a_corner;
07874 else
07875 if (p[offset9] > cb)
07876 if (p[offset1] < c_b)
07877 if (p[offset6] < c_b)
07878 goto is_not_a_corner;
07879 else
07880 if (p[offset6] > cb)
07881 if (p[offset8] > cb)
07882 if (p[offset4] > cb)
07883 if (p[offset3] > cb)
07884 goto is_a_corner;
07885 else
07886 if (p[offset10] > cb)
07887 goto is_a_corner;
07888 else
07889 goto is_not_a_corner;
07890 else
07891 if (p[offset10] > cb)
07892 if (p[offset11] > cb)
07893 goto is_a_corner;
07894 else
07895 goto is_not_a_corner;
07896 else
07897 goto is_not_a_corner;
07898 else
07899 goto is_not_a_corner;
07900 else
07901 goto is_not_a_corner;
07902 else
07903 if (p[offset1] > cb)
07904 if (p[offset6] < c_b)
07905 goto is_not_a_corner;
07906 else
07907 if (p[offset6] > cb)
07908 if (p[offset4] > cb)
07909 if (p[offset3] > cb)
07910 goto is_a_corner;
07911 else
07912 if (p[offset8] > cb)
07913 if (p[offset10] > cb)
07914 goto is_a_corner;
07915 else
07916 goto is_not_a_corner;
07917 else
07918 goto is_not_a_corner;
07919 else
07920 if (p[offset8] > cb)
07921 if (p[offset10] > cb)
07922 if (p[offset11] > cb)
07923 goto is_a_corner;
07924 else
07925 goto is_not_a_corner;
07926 else
07927 goto is_not_a_corner;
07928 else
07929 goto is_not_a_corner;
07930 else
07931 goto is_not_a_corner;
07932 else
07933 if (p[offset6] < c_b)
07934 goto is_not_a_corner;
07935 else
07936 if (p[offset6] > cb)
07937 if (p[offset8] > cb)
07938 if (p[offset4] > cb)
07939 if (p[offset3] > cb)
07940 goto is_a_corner;
07941 else
07942 if (p[offset10] > cb)
07943 goto is_a_corner;
07944 else
07945 goto is_not_a_corner;
07946 else
07947 if (p[offset10] > cb)
07948 if (p[offset11] > cb)
07949 goto is_a_corner;
07950 else
07951 goto is_not_a_corner;
07952 else
07953 goto is_not_a_corner;
07954 else
07955 goto is_not_a_corner;
07956 else
07957 goto is_not_a_corner;
07958 else
07959 if (p[offset1] > cb)
07960 if (p[offset6] < c_b)
07961 goto is_not_a_corner;
07962 else
07963 if (p[offset6] > cb)
07964 if (p[offset3] > cb)
07965 if (p[offset4] > cb)
07966 goto is_a_corner;
07967 else
07968 goto is_not_a_corner;
07969 else
07970 goto is_not_a_corner;
07971 else
07972 goto is_not_a_corner;
07973 else
07974 if (p[offset1] < c_b)
07975 if (p[offset6] < c_b)
07976 goto is_not_a_corner;
07977 else
07978 if (p[offset6] > cb)
07979 if (p[offset3] > cb)
07980 if (p[offset4] > cb)
07981 if (p[offset8] > cb)
07982 goto is_a_corner;
07983 else
07984 goto is_not_a_corner;
07985 else
07986 goto is_not_a_corner;
07987 else
07988 goto is_not_a_corner;
07989 else
07990 goto is_not_a_corner;
07991 else
07992 if (p[offset6] < c_b)
07993 goto is_not_a_corner;
07994 else
07995 if (p[offset6] > cb)
07996 if (p[offset3] > cb)
07997 if (p[offset4] > cb)
07998 if (p[offset8] > cb)
07999 goto is_a_corner;
08000 else
08001 goto is_not_a_corner;
08002 else
08003 goto is_not_a_corner;
08004 else
08005 goto is_not_a_corner;
08006 else
08007 goto is_not_a_corner;
08008 else
08009 if (p[offset9] < c_b)
08010 goto is_not_a_corner;
08011 else
08012 if (p[offset9] > cb)
08013 if (p[offset1] > cb)
08014 if (p[offset6] < c_b)
08015 goto is_not_a_corner;
08016 else
08017 if (p[offset6] > cb)
08018 if (p[offset8] > cb)
08019 if (p[offset4] > cb)
08020 if (p[offset3] > cb)
08021 goto is_a_corner;
08022 else
08023 if (p[offset10] > cb)
08024 goto is_a_corner;
08025 else
08026 goto is_not_a_corner;
08027 else
08028 if (p[offset10] > cb)
08029 if (p[offset11] > cb)
08030 goto is_a_corner;
08031 else
08032 goto is_not_a_corner;
08033 else
08034 goto is_not_a_corner;
08035 else
08036 goto is_not_a_corner;
08037 else
08038 goto is_not_a_corner;
08039 else
08040 if (p[offset1] < c_b)
08041 if (p[offset6] < c_b)
08042 goto is_not_a_corner;
08043 else
08044 if (p[offset6] > cb)
08045 if (p[offset8] > cb)
08046 if (p[offset4] > cb)
08047 if (p[offset3] > cb)
08048 goto is_a_corner;
08049 else
08050 if (p[offset10] > cb)
08051 goto is_a_corner;
08052 else
08053 goto is_not_a_corner;
08054 else
08055 if (p[offset10] > cb)
08056 if (p[offset11] > cb)
08057 goto is_a_corner;
08058 else
08059 goto is_not_a_corner;
08060 else
08061 goto is_not_a_corner;
08062 else
08063 goto is_not_a_corner;
08064 else
08065 goto is_not_a_corner;
08066 else
08067 if (p[offset6] < c_b)
08068 goto is_not_a_corner;
08069 else
08070 if (p[offset6] > cb)
08071 if (p[offset8] > cb)
08072 if (p[offset4] > cb)
08073 if (p[offset3] > cb)
08074 goto is_a_corner;
08075 else
08076 if (p[offset10] > cb)
08077 goto is_a_corner;
08078 else
08079 goto is_not_a_corner;
08080 else
08081 if (p[offset10] > cb)
08082 if (p[offset11] > cb)
08083 goto is_a_corner;
08084 else
08085 goto is_not_a_corner;
08086 else
08087 goto is_not_a_corner;
08088 else
08089 goto is_not_a_corner;
08090 else
08091 goto is_not_a_corner;
08092 else
08093 goto is_not_a_corner;
08094 else
08095 goto is_not_a_corner;
08096 else
08097 goto is_not_a_corner;
08098
08099 is_a_corner:
08100 bmin = T2 (b_test);
08101 goto end;
08102
08103 is_not_a_corner:
08104 bmax = T2 (b_test);
08105 goto end;
08106
08107 end:
08108
08109 if (bmin == bmax - 1 || bmin == bmax)
08110 return (int (bmin));
08111 b_test = int ((bmin + bmax) / 2);
08112 }
08113 }
08114 }
08115 }
08116 }
08117
08121 void
08122 pcl::keypoints::agast::AgastDetector7_12s::initPattern ()
08123 {
08124 s_offset0_ = static_cast<int_fast16_t> ((-2) + (0) * width_);
08125 s_offset1_ = static_cast<int_fast16_t> ((-2) + (-1) * width_);
08126 s_offset2_ = static_cast<int_fast16_t> ((-1) + (-2) * width_);
08127 s_offset3_ = static_cast<int_fast16_t> ((0) + (-2) * width_);
08128 s_offset4_ = static_cast<int_fast16_t> ((1) + (-2) * width_);
08129 s_offset5_ = static_cast<int_fast16_t> ((2) + (-1) * width_);
08130 s_offset6_ = static_cast<int_fast16_t> ((2) + (0) * width_);
08131 s_offset7_ = static_cast<int_fast16_t> ((2) + (1) * width_);
08132 s_offset8_ = static_cast<int_fast16_t> ((1) + (2) * width_);
08133 s_offset9_ = static_cast<int_fast16_t> ((0) + (2) * width_);
08134 s_offset10_ = static_cast<int_fast16_t> ((-1) + (2) * width_);
08135 s_offset11_ = static_cast<int_fast16_t> ((-2) + (1) * width_);
08136 }
08137
08139 void
08140 pcl::keypoints::agast::AgastDetector7_12s::detect (const unsigned char* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
08141 {
08142 return (pcl::keypoints::agast::AgastDetector7_12s_detect<unsigned char, int> (
08143 im, int (width_), int (height_), threshold_,
08144 s_offset0_,
08145 s_offset1_,
08146 s_offset2_,
08147 s_offset3_,
08148 s_offset4_,
08149 s_offset5_,
08150 s_offset6_,
08151 s_offset7_,
08152 s_offset8_,
08153 s_offset9_,
08154 s_offset10_,
08155 s_offset11_,
08156 corners));
08157 }
08158
08160 void
08161 pcl::keypoints::agast::AgastDetector7_12s::detect (const float* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
08162 {
08163 return (pcl::keypoints::agast::AgastDetector7_12s_detect<float, float> (
08164 im, int (width_), int (height_), threshold_,
08165 s_offset0_,
08166 s_offset1_,
08167 s_offset2_,
08168 s_offset3_,
08169 s_offset4_,
08170 s_offset5_,
08171 s_offset6_,
08172 s_offset7_,
08173 s_offset8_,
08174 s_offset9_,
08175 s_offset10_,
08176 s_offset11_,
08177 corners));
08178 }
08179
08181 int
08182 pcl::keypoints::agast::AgastDetector7_12s::computeCornerScore (const unsigned char* p) const
08183 {
08184 return (pcl::keypoints::agast::AgastDetector7_12s_computeCornerScore<unsigned char, int> (
08185 p, bmax_, threshold_,
08186 s_offset0_,
08187 s_offset1_,
08188 s_offset2_,
08189 s_offset3_,
08190 s_offset4_,
08191 s_offset5_,
08192 s_offset6_,
08193 s_offset7_,
08194 s_offset8_,
08195 s_offset9_,
08196 s_offset10_,
08197 s_offset11_));
08198 }
08199
08201 int
08202 pcl::keypoints::agast::AgastDetector7_12s::computeCornerScore (const float* p) const
08203 {
08204 return (pcl::keypoints::agast::AgastDetector7_12s_computeCornerScore<float, float> (
08205 p, bmax_, threshold_,
08206 s_offset0_,
08207 s_offset1_,
08208 s_offset2_,
08209 s_offset3_,
08210 s_offset4_,
08211 s_offset5_,
08212 s_offset6_,
08213 s_offset7_,
08214 s_offset8_,
08215 s_offset9_,
08216 s_offset10_,
08217 s_offset11_));
08218 }
08219
08223 namespace pcl
08224 {
08225 namespace keypoints
08226 {
08227 namespace agast
08228 {
08230
08231 template <typename T1, typename T2> void
08232 AgastDetector5_8_detect (
08233 const T1* im,
08234 int img_width, int img_height,
08235 double threshold,
08236 int_fast16_t s_offset0,
08237 int_fast16_t s_offset1,
08238 int_fast16_t s_offset2,
08239 int_fast16_t s_offset3,
08240 int_fast16_t s_offset4,
08241 int_fast16_t s_offset5,
08242 int_fast16_t s_offset6,
08243 int_fast16_t s_offset7,
08244 std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >& corners)
08245 {
08246 int total = 0;
08247 int n_expected_corners = int (corners.capacity ());
08248 pcl::PointUV h;
08249 register int x, y;
08250 register int xsize_b = int (img_width) - 2;
08251 register int ysize_b = int (img_height) - 1;
08252 register int_fast16_t offset0, offset1, offset2, offset3, offset4, offset5, offset6, offset7;
08253 register int width;
08254
08255 corners.resize (0);
08256
08257 offset0 = s_offset0;
08258 offset1 = s_offset1;
08259 offset2 = s_offset2;
08260 offset3 = s_offset3;
08261 offset4 = s_offset4;
08262 offset5 = s_offset5;
08263 offset6 = s_offset6;
08264 offset7 = s_offset7;
08265 width = int (img_width);
08266
08267 for (y = 1; y < ysize_b; y++)
08268 {
08269 x = 0;
08270 while (1)
08271 {
08272 homogeneous:
08273 {
08274 x++;
08275 if (x > xsize_b)
08276 break;
08277 else
08278 {
08279 register const T1* const p = im + y * width + x;
08280 register const T2 cb = *p + T2 (threshold);
08281 register const T2 c_b = *p - T2 (threshold);
08282 if (p[offset0] > cb)
08283 if (p[offset2] > cb)
08284 if (p[offset3] > cb)
08285 if (p[offset5] > cb)
08286 if (p[offset1] > cb)
08287 if (p[offset4] > cb)
08288 goto success_structured;
08289 else
08290 if (p[offset7] > cb)
08291 goto success_structured;
08292 else
08293 goto homogeneous;
08294 else
08295 if (p[offset4] > cb)
08296 if (p[offset6] > cb)
08297 goto success_structured;
08298 else
08299 goto homogeneous;
08300 else
08301 goto homogeneous;
08302 else
08303 if (p[offset1] > cb)
08304 if (p[offset4] > cb)
08305 goto success_homogeneous;
08306 else
08307 if (p[offset7] > cb)
08308 goto success_homogeneous;
08309 else
08310 goto homogeneous;
08311 else
08312 goto homogeneous;
08313 else
08314 if (p[offset7] > cb)
08315 if (p[offset6] > cb)
08316 if (p[offset5] > cb)
08317 if (p[offset1] > cb)
08318 goto success_structured;
08319 else
08320 if (p[offset4] > cb)
08321 goto success_structured;
08322 else
08323 goto homogeneous;
08324 else
08325 if (p[offset1] > cb)
08326 goto success_homogeneous;
08327 else
08328 goto homogeneous;
08329 else
08330 goto homogeneous;
08331 else
08332 if (p[offset5] < c_b)
08333 if (p[offset3] < c_b)
08334 if (p[offset7] < c_b)
08335 if (p[offset4] < c_b)
08336 if (p[offset6] < c_b)
08337 goto success_structured;
08338 else
08339 goto structured;
08340 else
08341 goto homogeneous;
08342 else
08343 goto homogeneous;
08344 else
08345 goto homogeneous;
08346 else
08347 goto homogeneous;
08348 else
08349 if (p[offset5] > cb)
08350 if (p[offset7] > cb)
08351 if (p[offset6] > cb)
08352 if (p[offset1] > cb)
08353 goto success_homogeneous;
08354 else
08355 if (p[offset4] > cb)
08356 goto success_homogeneous;
08357 else
08358 goto homogeneous;
08359 else
08360 goto homogeneous;
08361 else
08362 goto homogeneous;
08363 else
08364 if (p[offset5] < c_b)
08365 if (p[offset3] < c_b)
08366 if (p[offset2] < c_b)
08367 if (p[offset1] < c_b)
08368 if (p[offset4] < c_b)
08369 goto success_structured;
08370 else
08371 goto homogeneous;
08372 else
08373 if (p[offset4] < c_b)
08374 if (p[offset6] < c_b)
08375 goto success_structured;
08376 else
08377 goto homogeneous;
08378 else
08379 goto homogeneous;
08380 else
08381 if (p[offset7] < c_b)
08382 if (p[offset4] < c_b)
08383 if (p[offset6] < c_b)
08384 goto success_structured;
08385 else
08386 goto homogeneous;
08387 else
08388 goto homogeneous;
08389 else
08390 goto homogeneous;
08391 else
08392 goto homogeneous;
08393 else
08394 goto homogeneous;
08395 else if (p[offset0] < c_b)
08396 if (p[offset2] < c_b)
08397 if (p[offset7] > cb)
08398 if (p[offset3] < c_b)
08399 if (p[offset5] < c_b)
08400 if (p[offset1] < c_b)
08401 if (p[offset4] < c_b)
08402 goto success_structured;
08403 else
08404 goto structured;
08405 else
08406 if (p[offset4] < c_b)
08407 if (p[offset6] < c_b)
08408 goto success_structured;
08409 else
08410 goto structured;
08411 else
08412 goto homogeneous;
08413 else
08414 if (p[offset1] < c_b)
08415 if (p[offset4] < c_b)
08416 goto success_structured;
08417 else
08418 goto homogeneous;
08419 else
08420 goto homogeneous;
08421 else
08422 if (p[offset5] > cb)
08423 if (p[offset3] > cb)
08424 if (p[offset4] > cb)
08425 if (p[offset6] > cb)
08426 goto success_structured;
08427 else
08428 goto structured;
08429 else
08430 goto homogeneous;
08431 else
08432 goto homogeneous;
08433 else
08434 goto homogeneous;
08435 else
08436 if (p[offset7] < c_b)
08437 if (p[offset3] < c_b)
08438 if (p[offset5] < c_b)
08439 if (p[offset1] < c_b)
08440 goto success_structured;
08441 else
08442 if (p[offset4] < c_b)
08443 if (p[offset6] < c_b)
08444 goto success_structured;
08445 else
08446 goto structured;
08447 else
08448 goto homogeneous;
08449 else
08450 if (p[offset1] < c_b)
08451 goto success_homogeneous;
08452 else
08453 goto homogeneous;
08454 else
08455 if (p[offset6] < c_b)
08456 if (p[offset5] < c_b)
08457 if (p[offset1] < c_b)
08458 goto success_structured;
08459 else
08460 if (p[offset4] < c_b)
08461 goto success_structured;
08462 else
08463 goto homogeneous;
08464 else
08465 if (p[offset1] < c_b)
08466 goto success_homogeneous;
08467 else
08468 goto homogeneous;
08469 else
08470 goto homogeneous;
08471 else
08472 if (p[offset3] < c_b)
08473 if (p[offset5] < c_b)
08474 if (p[offset1] < c_b)
08475 if (p[offset4] < c_b)
08476 goto success_structured;
08477 else
08478 goto homogeneous;
08479 else
08480 if (p[offset4] < c_b)
08481 if (p[offset6] < c_b)
08482 goto success_structured;
08483 else
08484 goto homogeneous;
08485 else
08486 goto homogeneous;
08487 else
08488 if (p[offset1] < c_b)
08489 if (p[offset4] < c_b)
08490 goto success_homogeneous;
08491 else
08492 goto homogeneous;
08493 else
08494 goto homogeneous;
08495 else
08496 goto homogeneous;
08497 else
08498 if (p[offset5] > cb)
08499 if (p[offset3] > cb)
08500 if (p[offset2] > cb)
08501 if (p[offset1] > cb)
08502 if (p[offset4] > cb)
08503 goto success_structured;
08504 else
08505 goto homogeneous;
08506 else
08507 if (p[offset4] > cb)
08508 if (p[offset6] > cb)
08509 goto success_structured;
08510 else
08511 goto homogeneous;
08512 else
08513 goto homogeneous;
08514 else
08515 if (p[offset7] > cb)
08516 if (p[offset4] > cb)
08517 if (p[offset6] > cb)
08518 goto success_structured;
08519 else
08520 goto homogeneous;
08521 else
08522 goto homogeneous;
08523 else
08524 goto homogeneous;
08525 else
08526 goto homogeneous;
08527 else
08528 if (p[offset5] < c_b)
08529 if (p[offset7] < c_b)
08530 if (p[offset6] < c_b)
08531 if (p[offset1] < c_b)
08532 goto success_homogeneous;
08533 else
08534 if (p[offset4] < c_b)
08535 goto success_homogeneous;
08536 else
08537 goto homogeneous;
08538 else
08539 goto homogeneous;
08540 else
08541 goto homogeneous;
08542 else
08543 goto homogeneous;
08544 else
08545 if (p[offset3] > cb)
08546 if (p[offset5] > cb)
08547 if (p[offset2] > cb)
08548 if (p[offset1] > cb)
08549 if (p[offset4] > cb)
08550 goto success_homogeneous;
08551 else
08552 goto homogeneous;
08553 else
08554 if (p[offset4] > cb)
08555 if (p[offset6] > cb)
08556 goto success_homogeneous;
08557 else
08558 goto homogeneous;
08559 else
08560 goto homogeneous;
08561 else
08562 if (p[offset7] > cb)
08563 if (p[offset4] > cb)
08564 if (p[offset6] > cb)
08565 goto success_homogeneous;
08566 else
08567 goto homogeneous;
08568 else
08569 goto homogeneous;
08570 else
08571 goto homogeneous;
08572 else
08573 goto homogeneous;
08574 else
08575 if (p[offset3] < c_b)
08576 if (p[offset5] < c_b)
08577 if (p[offset2] < c_b)
08578 if (p[offset1] < c_b)
08579 if (p[offset4] < c_b)
08580 goto success_homogeneous;
08581 else
08582 goto homogeneous;
08583 else
08584 if (p[offset4] < c_b)
08585 if (p[offset6] < c_b)
08586 goto success_homogeneous;
08587 else
08588 goto homogeneous;
08589 else
08590 goto homogeneous;
08591 else
08592 if (p[offset7] < c_b)
08593 if (p[offset4] < c_b)
08594 if (p[offset6] < c_b)
08595 goto success_homogeneous;
08596 else
08597 goto homogeneous;
08598 else
08599 goto homogeneous;
08600 else
08601 goto homogeneous;
08602 else
08603 goto homogeneous;
08604 else
08605 goto homogeneous;
08606 }
08607 }
08608 structured:
08609 {
08610 x++;
08611 if (x > xsize_b)
08612 break;
08613 else
08614 {
08615 register const T1* const p = im + y * width + x;
08616 register const T2 cb = *p + T2 (threshold);
08617 register const T2 c_b = *p - T2 (threshold);
08618 if (p[offset0] > cb)
08619 if (p[offset2] > cb)
08620 if (p[offset3] > cb)
08621 if (p[offset5] > cb)
08622 if (p[offset7] > cb)
08623 if (p[offset1] > cb)
08624 goto success_structured;
08625 else
08626 if (p[offset4] > cb)
08627 if (p[offset6] > cb)
08628 goto success_structured;
08629 else
08630 goto structured;
08631 else
08632 goto structured;
08633 else
08634 if (p[offset1] > cb)
08635 if (p[offset4] > cb)
08636 goto success_structured;
08637 else
08638 goto structured;
08639 else
08640 if (p[offset4] > cb)
08641 if (p[offset6] > cb)
08642 goto success_structured;
08643 else
08644 goto structured;
08645 else
08646 goto structured;
08647 else
08648 if (p[offset7] > cb)
08649 if (p[offset1] > cb)
08650 goto success_structured;
08651 else
08652 goto structured;
08653 else
08654 if (p[offset1] > cb)
08655 if (p[offset4] > cb)
08656 goto success_structured;
08657 else
08658 goto structured;
08659 else
08660 goto structured;
08661 else
08662 if (p[offset7] > cb)
08663 if (p[offset6] > cb)
08664 if (p[offset5] > cb)
08665 if (p[offset1] > cb)
08666 goto success_structured;
08667 else
08668 if (p[offset4] > cb)
08669 goto success_structured;
08670 else
08671 goto structured;
08672 else
08673 if (p[offset1] > cb)
08674 goto success_structured;
08675 else
08676 goto structured;
08677 else
08678 goto structured;
08679 else
08680 if (p[offset5] < c_b)
08681 if (p[offset3] < c_b)
08682 if (p[offset7] < c_b)
08683 if (p[offset4] < c_b)
08684 if (p[offset6] < c_b)
08685 goto success_structured;
08686 else
08687 goto structured;
08688 else
08689 goto structured;
08690 else
08691 goto homogeneous;
08692 else
08693 goto homogeneous;
08694 else
08695 goto structured;
08696 else
08697 if (p[offset5] > cb)
08698 if (p[offset7] > cb)
08699 if (p[offset6] > cb)
08700 if (p[offset1] > cb)
08701 goto success_structured;
08702 else
08703 if (p[offset4] > cb)
08704 goto success_structured;
08705 else
08706 goto structured;
08707 else
08708 goto structured;
08709 else
08710 goto structured;
08711 else
08712 if (p[offset5] < c_b)
08713 if (p[offset3] < c_b)
08714 if (p[offset2] < c_b)
08715 if (p[offset1] < c_b)
08716 if (p[offset4] < c_b)
08717 goto success_structured;
08718 else
08719 goto structured;
08720 else
08721 if (p[offset4] < c_b)
08722 if (p[offset6] < c_b)
08723 goto success_structured;
08724 else
08725 goto structured;
08726 else
08727 goto structured;
08728 else
08729 if (p[offset7] < c_b)
08730 if (p[offset4] < c_b)
08731 if (p[offset6] < c_b)
08732 goto success_homogeneous;
08733 else
08734 goto homogeneous;
08735 else
08736 goto homogeneous;
08737 else
08738 goto homogeneous;
08739 else
08740 goto structured;
08741 else
08742 goto homogeneous;
08743 else if (p[offset0] < c_b)
08744 if (p[offset2] < c_b)
08745 if (p[offset7] > cb)
08746 if (p[offset3] < c_b)
08747 if (p[offset5] < c_b)
08748 if (p[offset1] < c_b)
08749 if (p[offset4] < c_b)
08750 goto success_structured;
08751 else
08752 goto structured;
08753 else
08754 if (p[offset4] < c_b)
08755 if (p[offset6] < c_b)
08756 goto success_structured;
08757 else
08758 goto structured;
08759 else
08760 goto structured;
08761 else
08762 if (p[offset1] < c_b)
08763 if (p[offset4] < c_b)
08764 goto success_structured;
08765 else
08766 goto structured;
08767 else
08768 goto structured;
08769 else
08770 if (p[offset5] > cb)
08771 if (p[offset3] > cb)
08772 if (p[offset4] > cb)
08773 if (p[offset6] > cb)
08774 goto success_structured;
08775 else
08776 goto structured;
08777 else
08778 goto structured;
08779 else
08780 goto homogeneous;
08781 else
08782 goto structured;
08783 else
08784 if (p[offset7] < c_b)
08785 if (p[offset3] < c_b)
08786 if (p[offset5] < c_b)
08787 if (p[offset1] < c_b)
08788 goto success_structured;
08789 else
08790 if (p[offset4] < c_b)
08791 if (p[offset6] < c_b)
08792 goto success_structured;
08793 else
08794 goto structured;
08795 else
08796 goto structured;
08797 else
08798 if (p[offset1] < c_b)
08799 goto success_structured;
08800 else
08801 goto structured;
08802 else
08803 if (p[offset6] < c_b)
08804 if (p[offset5] < c_b)
08805 if (p[offset1] < c_b)
08806 goto success_structured;
08807 else
08808 if (p[offset4] < c_b)
08809 goto success_structured;
08810 else
08811 goto structured;
08812 else
08813 if (p[offset1] < c_b)
08814 goto success_structured;
08815 else
08816 goto structured;
08817 else
08818 goto structured;
08819 else
08820 if (p[offset3] < c_b)
08821 if (p[offset5] < c_b)
08822 if (p[offset1] < c_b)
08823 if (p[offset4] < c_b)
08824 goto success_homogeneous;
08825 else
08826 goto homogeneous;
08827 else
08828 if (p[offset4] < c_b)
08829 if (p[offset6] < c_b)
08830 goto success_homogeneous;
08831 else
08832 goto homogeneous;
08833 else
08834 goto homogeneous;
08835 else
08836 if (p[offset1] < c_b)
08837 if (p[offset4] < c_b)
08838 goto success_homogeneous;
08839 else
08840 goto homogeneous;
08841 else
08842 goto homogeneous;
08843 else
08844 goto homogeneous;
08845 else
08846 if (p[offset5] > cb)
08847 if (p[offset3] > cb)
08848 if (p[offset2] > cb)
08849 if (p[offset1] > cb)
08850 if (p[offset4] > cb)
08851 goto success_structured;
08852 else
08853 goto structured;
08854 else
08855 if (p[offset4] > cb)
08856 if (p[offset6] > cb)
08857 goto success_structured;
08858 else
08859 goto structured;
08860 else
08861 goto structured;
08862 else
08863 if (p[offset7] > cb)
08864 if (p[offset4] > cb)
08865 if (p[offset6] > cb)
08866 goto success_homogeneous;
08867 else
08868 goto homogeneous;
08869 else
08870 goto homogeneous;
08871 else
08872 goto homogeneous;
08873 else
08874 goto structured;
08875 else
08876 if (p[offset5] < c_b)
08877 if (p[offset7] < c_b)
08878 if (p[offset6] < c_b)
08879 if (p[offset1] < c_b)
08880 goto success_structured;
08881 else
08882 if (p[offset4] < c_b)
08883 goto success_structured;
08884 else
08885 goto structured;
08886 else
08887 goto structured;
08888 else
08889 goto structured;
08890 else
08891 goto homogeneous;
08892 else
08893 if (p[offset3] > cb)
08894 if (p[offset5] > cb)
08895 if (p[offset2] > cb)
08896 if (p[offset1] > cb)
08897 if (p[offset4] > cb)
08898 goto success_homogeneous;
08899 else
08900 goto homogeneous;
08901 else
08902 if (p[offset4] > cb)
08903 if (p[offset6] > cb)
08904 goto success_homogeneous;
08905 else
08906 goto homogeneous;
08907 else
08908 goto homogeneous;
08909 else
08910 if (p[offset7] > cb)
08911 if (p[offset4] > cb)
08912 if (p[offset6] > cb)
08913 goto success_homogeneous;
08914 else
08915 goto homogeneous;
08916 else
08917 goto homogeneous;
08918 else
08919 goto homogeneous;
08920 else
08921 goto homogeneous;
08922 else
08923 if (p[offset3] < c_b)
08924 if (p[offset5] < c_b)
08925 if (p[offset2] < c_b)
08926 if (p[offset1] < c_b)
08927 if (p[offset4] < c_b)
08928 goto success_homogeneous;
08929 else
08930 goto homogeneous;
08931 else
08932 if (p[offset4] < c_b)
08933 if (p[offset6] < c_b)
08934 goto success_homogeneous;
08935 else
08936 goto homogeneous;
08937 else
08938 goto homogeneous;
08939 else
08940 if (p[offset7] < c_b)
08941 if (p[offset4] < c_b)
08942 if (p[offset6] < c_b)
08943 goto success_homogeneous;
08944 else
08945 goto homogeneous;
08946 else
08947 goto homogeneous;
08948 else
08949 goto homogeneous;
08950 else
08951 goto homogeneous;
08952 else
08953 goto homogeneous;
08954 }
08955 }
08956 success_homogeneous:
08957 if (total == n_expected_corners)
08958 {
08959 if (n_expected_corners == 0)
08960 {
08961 n_expected_corners = 512;
08962 corners.reserve (n_expected_corners);
08963 }
08964 else
08965 {
08966 n_expected_corners *= 2;
08967 corners.reserve (n_expected_corners);
08968 }
08969 }
08970 h.u = float (x);
08971 h.v = float (y);
08972 corners.push_back (h);
08973 total++;
08974 goto homogeneous;
08975 success_structured:
08976 if (total == n_expected_corners)
08977 {
08978 if (n_expected_corners == 0)
08979 {
08980 n_expected_corners = 512;
08981 corners.reserve (n_expected_corners);
08982 }
08983 else
08984 {
08985 n_expected_corners *= 2;
08986 corners.reserve (n_expected_corners);
08987 }
08988 }
08989 h.u = float (x);
08990 h.v = float (y);
08991 corners.push_back (h);
08992 total++;
08993 goto structured;
08994 }
08995 }
08996 }
08997
08999
09000 template <typename T1, typename T2> int
09001 AgastDetector5_8_computeCornerScore (
09002 const T1* p,
09003 double im_bmax,
09004 double score_threshold,
09005 int_fast16_t s_offset0,
09006 int_fast16_t s_offset1,
09007 int_fast16_t s_offset2,
09008 int_fast16_t s_offset3,
09009 int_fast16_t s_offset4,
09010 int_fast16_t s_offset5,
09011 int_fast16_t s_offset6,
09012 int_fast16_t s_offset7)
09013 {
09014 T2 bmin = T2 (score_threshold);
09015 T2 bmax = T2 (im_bmax);
09016 int b_test = int ((bmax + bmin) / 2);
09017
09018 register int_fast16_t offset0 = s_offset0;
09019 register int_fast16_t offset1 = s_offset1;
09020 register int_fast16_t offset2 = s_offset2;
09021 register int_fast16_t offset3 = s_offset3;
09022 register int_fast16_t offset4 = s_offset4;
09023 register int_fast16_t offset5 = s_offset5;
09024 register int_fast16_t offset6 = s_offset6;
09025 register int_fast16_t offset7 = s_offset7;
09026
09027 while (1)
09028 {
09029 register const T2 cb = *p + T2 (b_test);
09030 register const T2 c_b = *p - T2 (b_test);
09031 if (p[offset0] > cb)
09032 if (p[offset2] > cb)
09033 if (p[offset3] > cb)
09034 if (p[offset5] > cb)
09035 if (p[offset1] > cb)
09036 if (p[offset4] > cb)
09037 goto is_a_corner;
09038 else
09039 if (p[offset7] > cb)
09040 goto is_a_corner;
09041 else
09042 goto is_not_a_corner;
09043 else
09044 if (p[offset4] > cb)
09045 if (p[offset6] > cb)
09046 goto is_a_corner;
09047 else
09048 goto is_not_a_corner;
09049 else
09050 goto is_not_a_corner;
09051 else
09052 if (p[offset1] > cb)
09053 if (p[offset4] > cb)
09054 goto is_a_corner;
09055 else
09056 if (p[offset7] > cb)
09057 goto is_a_corner;
09058 else
09059 goto is_not_a_corner;
09060 else
09061 goto is_not_a_corner;
09062 else
09063 if (p[offset7] > cb)
09064 if (p[offset6] > cb)
09065 if (p[offset5] > cb)
09066 if (p[offset1] > cb)
09067 goto is_a_corner;
09068 else
09069 if (p[offset4] > cb)
09070 goto is_a_corner;
09071 else
09072 goto is_not_a_corner;
09073 else
09074 if (p[offset1] > cb)
09075 goto is_a_corner;
09076 else
09077 goto is_not_a_corner;
09078 else
09079 goto is_not_a_corner;
09080 else
09081 if (p[offset5] < c_b)
09082 if (p[offset3] < c_b)
09083 if (p[offset7] < c_b)
09084 if (p[offset4] < c_b)
09085 if (p[offset6] < c_b)
09086 goto is_a_corner;
09087 else
09088 goto is_not_a_corner;
09089 else
09090 goto is_not_a_corner;
09091 else
09092 goto is_not_a_corner;
09093 else
09094 goto is_not_a_corner;
09095 else
09096 goto is_not_a_corner;
09097 else
09098 if (p[offset5] > cb)
09099 if (p[offset7] > cb)
09100 if (p[offset6] > cb)
09101 if (p[offset1] > cb)
09102 goto is_a_corner;
09103 else
09104 if (p[offset4] > cb)
09105 goto is_a_corner;
09106 else
09107 goto is_not_a_corner;
09108 else
09109 goto is_not_a_corner;
09110 else
09111 goto is_not_a_corner;
09112 else
09113 if (p[offset5] < c_b)
09114 if (p[offset3] < c_b)
09115 if (p[offset2] < c_b)
09116 if (p[offset1] < c_b)
09117 if (p[offset4] < c_b)
09118 goto is_a_corner;
09119 else
09120 goto is_not_a_corner;
09121 else
09122 if (p[offset4] < c_b)
09123 if (p[offset6] < c_b)
09124 goto is_a_corner;
09125 else
09126 goto is_not_a_corner;
09127 else
09128 goto is_not_a_corner;
09129 else
09130 if (p[offset7] < c_b)
09131 if (p[offset4] < c_b)
09132 if (p[offset6] < c_b)
09133 goto is_a_corner;
09134 else
09135 goto is_not_a_corner;
09136 else
09137 goto is_not_a_corner;
09138 else
09139 goto is_not_a_corner;
09140 else
09141 goto is_not_a_corner;
09142 else
09143 goto is_not_a_corner;
09144 else if (p[offset0] < c_b)
09145 if (p[offset2] < c_b)
09146 if (p[offset7] > cb)
09147 if (p[offset3] < c_b)
09148 if (p[offset5] < c_b)
09149 if (p[offset1] < c_b)
09150 if (p[offset4] < c_b)
09151 goto is_a_corner;
09152 else
09153 goto is_not_a_corner;
09154 else
09155 if (p[offset4] < c_b)
09156 if (p[offset6] < c_b)
09157 goto is_a_corner;
09158 else
09159 goto is_not_a_corner;
09160 else
09161 goto is_not_a_corner;
09162 else
09163 if (p[offset1] < c_b)
09164 if (p[offset4] < c_b)
09165 goto is_a_corner;
09166 else
09167 goto is_not_a_corner;
09168 else
09169 goto is_not_a_corner;
09170 else
09171 if (p[offset5] > cb)
09172 if (p[offset3] > cb)
09173 if (p[offset4] > cb)
09174 if (p[offset6] > cb)
09175 goto is_a_corner;
09176 else
09177 goto is_not_a_corner;
09178 else
09179 goto is_not_a_corner;
09180 else
09181 goto is_not_a_corner;
09182 else
09183 goto is_not_a_corner;
09184 else
09185 if (p[offset7] < c_b)
09186 if (p[offset3] < c_b)
09187 if (p[offset5] < c_b)
09188 if (p[offset1] < c_b)
09189 goto is_a_corner;
09190 else
09191 if (p[offset4] < c_b)
09192 if (p[offset6] < c_b)
09193 goto is_a_corner;
09194 else
09195 goto is_not_a_corner;
09196 else
09197 goto is_not_a_corner;
09198 else
09199 if (p[offset1] < c_b)
09200 goto is_a_corner;
09201 else
09202 goto is_not_a_corner;
09203 else
09204 if (p[offset6] < c_b)
09205 if (p[offset5] < c_b)
09206 if (p[offset1] < c_b)
09207 goto is_a_corner;
09208 else
09209 if (p[offset4] < c_b)
09210 goto is_a_corner;
09211 else
09212 goto is_not_a_corner;
09213 else
09214 if (p[offset1] < c_b)
09215 goto is_a_corner;
09216 else
09217 goto is_not_a_corner;
09218 else
09219 goto is_not_a_corner;
09220 else
09221 if (p[offset3] < c_b)
09222 if (p[offset5] < c_b)
09223 if (p[offset1] < c_b)
09224 if (p[offset4] < c_b)
09225 goto is_a_corner;
09226 else
09227 goto is_not_a_corner;
09228 else
09229 if (p[offset4] < c_b)
09230 if (p[offset6] < c_b)
09231 goto is_a_corner;
09232 else
09233 goto is_not_a_corner;
09234 else
09235 goto is_not_a_corner;
09236 else
09237 if (p[offset1] < c_b)
09238 if (p[offset4] < c_b)
09239 goto is_a_corner;
09240 else
09241 goto is_not_a_corner;
09242 else
09243 goto is_not_a_corner;
09244 else
09245 goto is_not_a_corner;
09246 else
09247 if (p[offset5] > cb)
09248 if (p[offset3] > cb)
09249 if (p[offset2] > cb)
09250 if (p[offset1] > cb)
09251 if (p[offset4] > cb)
09252 goto is_a_corner;
09253 else
09254 goto is_not_a_corner;
09255 else
09256 if (p[offset4] > cb)
09257 if (p[offset6] > cb)
09258 goto is_a_corner;
09259 else
09260 goto is_not_a_corner;
09261 else
09262 goto is_not_a_corner;
09263 else
09264 if (p[offset7] > cb)
09265 if (p[offset4] > cb)
09266 if (p[offset6] > cb)
09267 goto is_a_corner;
09268 else
09269 goto is_not_a_corner;
09270 else
09271 goto is_not_a_corner;
09272 else
09273 goto is_not_a_corner;
09274 else
09275 goto is_not_a_corner;
09276 else
09277 if (p[offset5] < c_b)
09278 if (p[offset7] < c_b)
09279 if (p[offset6] < c_b)
09280 if (p[offset1] < c_b)
09281 goto is_a_corner;
09282 else
09283 if (p[offset4] < c_b)
09284 goto is_a_corner;
09285 else
09286 goto is_not_a_corner;
09287 else
09288 goto is_not_a_corner;
09289 else
09290 goto is_not_a_corner;
09291 else
09292 goto is_not_a_corner;
09293 else
09294 if (p[offset3] > cb)
09295 if (p[offset5] > cb)
09296 if (p[offset2] > cb)
09297 if (p[offset1] > cb)
09298 if (p[offset4] > cb)
09299 goto is_a_corner;
09300 else
09301 goto is_not_a_corner;
09302 else
09303 if (p[offset4] > cb)
09304 if (p[offset6] > cb)
09305 goto is_a_corner;
09306 else
09307 goto is_not_a_corner;
09308 else
09309 goto is_not_a_corner;
09310 else
09311 if (p[offset7] > cb)
09312 if (p[offset4] > cb)
09313 if (p[offset6] > cb)
09314 goto is_a_corner;
09315 else
09316 goto is_not_a_corner;
09317 else
09318 goto is_not_a_corner;
09319 else
09320 goto is_not_a_corner;
09321 else
09322 goto is_not_a_corner;
09323 else
09324 if (p[offset3] < c_b)
09325 if (p[offset5] < c_b)
09326 if (p[offset2] < c_b)
09327 if (p[offset1] < c_b)
09328 if (p[offset4] < c_b)
09329 goto is_a_corner;
09330 else
09331 goto is_not_a_corner;
09332 else
09333 if (p[offset4] < c_b)
09334 if (p[offset6] < c_b)
09335 goto is_a_corner;
09336 else
09337 goto is_not_a_corner;
09338 else
09339 goto is_not_a_corner;
09340 else
09341 if (p[offset7] < c_b)
09342 if (p[offset4] < c_b)
09343 if (p[offset6] < c_b)
09344 goto is_a_corner;
09345 else
09346 goto is_not_a_corner;
09347 else
09348 goto is_not_a_corner;
09349 else
09350 goto is_not_a_corner;
09351 else
09352 goto is_not_a_corner;
09353 else
09354 goto is_not_a_corner;
09355
09356 is_a_corner:
09357 bmin = T2 (b_test);
09358 goto end;
09359
09360 is_not_a_corner:
09361 bmax = T2 (b_test);
09362 goto end;
09363
09364 end:
09365
09366 if (bmin == bmax - 1 || bmin == bmax)
09367 return (int (bmin));
09368 b_test = int ((bmin + bmax) / 2);
09369 }
09370 }
09371 }
09372 }
09373 }
09374
09377 void
09378 pcl::keypoints::agast::AgastDetector5_8::initPattern ()
09379 {
09380 s_offset0_ = static_cast<int_fast16_t> ((-1) + (0) * width_);
09381 s_offset1_ = static_cast<int_fast16_t> ((-1) + (-1) * width_);
09382 s_offset2_ = static_cast<int_fast16_t> ((0) + (-1) * width_);
09383 s_offset3_ = static_cast<int_fast16_t> ((1) + (-1) * width_);
09384 s_offset4_ = static_cast<int_fast16_t> ((1) + (0) * width_);
09385 s_offset5_ = static_cast<int_fast16_t> ((1) + (1) * width_);
09386 s_offset6_ = static_cast<int_fast16_t> ((0) + (1) * width_);
09387 s_offset7_ = static_cast<int_fast16_t> ((-1) + (1) * width_);
09388 }
09389
09391 void
09392 pcl::keypoints::agast::AgastDetector5_8::detect (const unsigned char* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
09393 {
09394 return (pcl::keypoints::agast::AgastDetector5_8_detect<unsigned char, int> (
09395 im, int (width_), int (height_), threshold_,
09396 s_offset0_,
09397 s_offset1_,
09398 s_offset2_,
09399 s_offset3_,
09400 s_offset4_,
09401 s_offset5_,
09402 s_offset6_,
09403 s_offset7_,
09404 corners));
09405 }
09406
09408 void
09409 pcl::keypoints::agast::AgastDetector5_8::detect (const float* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
09410 {
09411 return (pcl::keypoints::agast::AgastDetector5_8_detect<float, float> (
09412 im, int (width_), int (height_), threshold_,
09413 s_offset0_,
09414 s_offset1_,
09415 s_offset2_,
09416 s_offset3_,
09417 s_offset4_,
09418 s_offset5_,
09419 s_offset6_,
09420 s_offset7_,
09421 corners));
09422 }
09423
09425 int
09426 pcl::keypoints::agast::AgastDetector5_8::computeCornerScore (const unsigned char* p) const
09427 {
09428 return (pcl::keypoints::agast::AgastDetector5_8_computeCornerScore<unsigned char, int> (
09429 p, bmax_, threshold_,
09430 s_offset0_,
09431 s_offset1_,
09432 s_offset2_,
09433 s_offset3_,
09434 s_offset4_,
09435 s_offset5_,
09436 s_offset6_,
09437 s_offset7_));
09438 }
09439
09441 int
09442 pcl::keypoints::agast::AgastDetector5_8::computeCornerScore (const float* p) const
09443 {
09444 return (pcl::keypoints::agast::AgastDetector5_8_computeCornerScore<float, float> (
09445 p, bmax_, threshold_,
09446 s_offset0_,
09447 s_offset1_,
09448 s_offset2_,
09449 s_offset3_,
09450 s_offset4_,
09451 s_offset5_,
09452 s_offset6_,
09453 s_offset7_));
09454 }
09455
09459 namespace pcl
09460 {
09461 namespace keypoints
09462 {
09463 namespace agast
09464 {
09466
09467 template <typename T1, typename T2> void
09468 OastDetector9_16_detect (
09469 const T1* im,
09470 int img_width, int img_height,
09471 double threshold,
09472 int_fast16_t s_offset0,
09473 int_fast16_t s_offset1,
09474 int_fast16_t s_offset2,
09475 int_fast16_t s_offset3,
09476 int_fast16_t s_offset4,
09477 int_fast16_t s_offset5,
09478 int_fast16_t s_offset6,
09479 int_fast16_t s_offset7,
09480 int_fast16_t s_offset8,
09481 int_fast16_t s_offset9,
09482 int_fast16_t s_offset10,
09483 int_fast16_t s_offset11,
09484 int_fast16_t s_offset12,
09485 int_fast16_t s_offset13,
09486 int_fast16_t s_offset14,
09487 int_fast16_t s_offset15,
09488 std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> >& corners)
09489 {
09490 int total = 0;
09491 int n_expected_corners = int (corners.capacity ());
09492 pcl::PointUV h;
09493 register int x, y;
09494 register int xsize_b = int (img_width) - 4;
09495 register int ysize_b = int (img_height) - 3;
09496 register int_fast16_t offset0, offset1, offset2, offset3, offset4, offset5, offset6, offset7, offset8, offset9, offset10, offset11, offset12, offset13, offset14, offset15;
09497 register int width;
09498
09499 corners.resize (0);
09500
09501 offset0 = s_offset0;
09502 offset1 = s_offset1;
09503 offset2 = s_offset2;
09504 offset3 = s_offset3;
09505 offset4 = s_offset4;
09506 offset5 = s_offset5;
09507 offset6 = s_offset6;
09508 offset7 = s_offset7;
09509 offset8 = s_offset8;
09510 offset9 = s_offset9;
09511 offset10 = s_offset10;
09512 offset11 = s_offset11;
09513 offset12 = s_offset12;
09514 offset13 = s_offset13;
09515 offset14 = s_offset14;
09516 offset15 = s_offset15;
09517 width = int (img_width);
09518
09519 for (y = 3; y < ysize_b; y++)
09520 {
09521 x = 2;
09522 while (1)
09523 {
09524 x++;
09525 if (x > xsize_b)
09526 break;
09527 else
09528 {
09529 register const T1* const p = im + y * width + x;
09530 register const T2 cb = *p + T2 (threshold);
09531 register const T2 c_b = *p - T2 (threshold);
09532 if (p[offset0] > cb)
09533 if (p[offset2] > cb)
09534 if (p[offset4] > cb)
09535 if (p[offset5] > cb)
09536 if (p[offset7] > cb)
09537 if (p[offset3] > cb)
09538 if (p[offset1] > cb)
09539 if (p[offset6] > cb)
09540 if (p[offset8] > cb)
09541 {}
09542 else
09543 if (p[offset15] > cb)
09544 {}
09545 else
09546 continue;
09547 else
09548 if (p[offset13] > cb)
09549 if (p[offset14] > cb)
09550 if (p[offset15] > cb)
09551 {}
09552 else
09553 continue;
09554 else
09555 continue;
09556 else
09557 continue;
09558 else
09559 if (p[offset8] > cb)
09560 if (p[offset9] > cb)
09561 if (p[offset10] > cb)
09562 if (p[offset6] > cb)
09563 {}
09564 else
09565 if (p[offset11] > cb)
09566 if (p[offset12] > cb)
09567 if (p[offset13] > cb)
09568 if (p[offset14] > cb)
09569 if (p[offset15] > cb)
09570 {}
09571 else
09572 continue;
09573 else
09574 continue;
09575 else
09576 continue;
09577 else
09578 continue;
09579 else
09580 continue;
09581 else
09582 continue;
09583 else
09584 continue;
09585 else
09586 continue;
09587 else
09588 if (p[offset10] > cb)
09589 if (p[offset11] > cb)
09590 if (p[offset12] > cb)
09591 if (p[offset8] > cb)
09592 if (p[offset9] > cb)
09593 if (p[offset6] > cb)
09594 {}
09595 else
09596 if (p[offset13] > cb)
09597 if (p[offset14] > cb)
09598 if (p[offset15] > cb)
09599 {}
09600 else
09601 continue;
09602 else
09603 continue;
09604 else
09605 continue;
09606 else
09607 if (p[offset1] > cb)
09608 if (p[offset13] > cb)
09609 if (p[offset14] > cb)
09610 if (p[offset15] > cb)
09611 {}
09612 else
09613 continue;
09614 else
09615 continue;
09616 else
09617 continue;
09618 else
09619 continue;
09620 else
09621 if (p[offset1] > cb)
09622 if (p[offset13] > cb)
09623 if (p[offset14] > cb)
09624 if (p[offset15] > cb)
09625 {}
09626 else
09627 continue;
09628 else
09629 continue;
09630 else
09631 continue;
09632 else
09633 continue;
09634 else
09635 continue;
09636 else
09637 continue;
09638 else
09639 continue;
09640 else if (p[offset7] < c_b)
09641 if (p[offset14] > cb)
09642 if (p[offset15] > cb)
09643 if (p[offset1] > cb)
09644 if (p[offset3] > cb)
09645 if (p[offset6] > cb)
09646 {}
09647 else
09648 if (p[offset13] > cb)
09649 {}
09650 else
09651 continue;
09652 else
09653 if (p[offset10] > cb)
09654 if (p[offset11] > cb)
09655 if (p[offset12] > cb)
09656 if (p[offset13] > cb)
09657 {}
09658 else
09659 continue;
09660 else
09661 continue;
09662 else
09663 continue;
09664 else
09665 continue;
09666 else
09667 if (p[offset8] > cb)
09668 if (p[offset9] > cb)
09669 if (p[offset10] > cb)
09670 if (p[offset11] > cb)
09671 if (p[offset12] > cb)
09672 if (p[offset13] > cb)
09673 {}
09674 else
09675 continue;
09676 else
09677 continue;
09678 else
09679 continue;
09680 else
09681 continue;
09682 else
09683 continue;
09684 else
09685 continue;
09686 else
09687 continue;
09688 else if (p[offset14] < c_b)
09689 if (p[offset8] < c_b)
09690 if (p[offset9] < c_b)
09691 if (p[offset10] < c_b)
09692 if (p[offset11] < c_b)
09693 if (p[offset12] < c_b)
09694 if (p[offset13] < c_b)
09695 if (p[offset6] < c_b)
09696 {}
09697 else
09698 if (p[offset15] < c_b)
09699 {}
09700 else
09701 continue;
09702 else
09703 continue;
09704 else
09705 continue;
09706 else
09707 continue;
09708 else
09709 continue;
09710 else
09711 continue;
09712 else
09713 continue;
09714 else
09715 continue;
09716 else
09717 if (p[offset14] > cb)
09718 if (p[offset15] > cb)
09719 if (p[offset1] > cb)
09720 if (p[offset3] > cb)
09721 if (p[offset6] > cb)
09722 {}
09723 else
09724 if (p[offset13] > cb)
09725 {}
09726 else
09727 continue;
09728 else
09729 if (p[offset10] > cb)
09730 if (p[offset11] > cb)
09731 if (p[offset12] > cb)
09732 if (p[offset13] > cb)
09733 {}
09734 else
09735 continue;
09736 else
09737 continue;
09738 else
09739 continue;
09740 else
09741 continue;
09742 else
09743 if (p[offset8] > cb)
09744 if (p[offset9] > cb)
09745 if (p[offset10] > cb)
09746 if (p[offset11] > cb)
09747 if (p[offset12] > cb)
09748 if (p[offset13] > cb)
09749 {}
09750 else
09751 continue;
09752 else
09753 continue;
09754 else
09755 continue;
09756 else
09757 continue;
09758 else
09759 continue;
09760 else
09761 continue;
09762 else
09763 continue;
09764 else
09765 continue;
09766 else if (p[offset5] < c_b)
09767 if (p[offset12] > cb)
09768 if (p[offset13] > cb)
09769 if (p[offset14] > cb)
09770 if (p[offset15] > cb)
09771 if (p[offset1] > cb)
09772 if (p[offset3] > cb)
09773 {}
09774 else
09775 if (p[offset10] > cb)
09776 if (p[offset11] > cb)
09777 {}
09778 else
09779 continue;
09780 else
09781 continue;
09782 else
09783 if (p[offset8] > cb)
09784 if (p[offset9] > cb)
09785 if (p[offset10] > cb)
09786 if (p[offset11] > cb)
09787 {}
09788 else
09789 continue;
09790 else
09791 continue;
09792 else
09793 continue;
09794 else
09795 continue;
09796 else
09797 if (p[offset6] > cb)
09798 if (p[offset7] > cb)
09799 if (p[offset8] > cb)
09800 if (p[offset9] > cb)
09801 if (p[offset10] > cb)
09802 if (p[offset11] > cb)
09803 {}
09804 else
09805 continue;
09806 else
09807 continue;
09808 else
09809 continue;
09810 else
09811 continue;
09812 else
09813 continue;
09814 else
09815 continue;
09816 else
09817 continue;
09818 else
09819 continue;
09820 else if (p[offset12] < c_b)
09821 if (p[offset7] < c_b)
09822 if (p[offset8] < c_b)
09823 if (p[offset9] < c_b)
09824 if (p[offset10] < c_b)
09825 if (p[offset11] < c_b)
09826 if (p[offset13] < c_b)
09827 if (p[offset6] < c_b)
09828 {}
09829 else
09830 if (p[offset14] < c_b)
09831 if (p[offset15] < c_b)
09832 {}
09833 else
09834 continue;
09835 else
09836 continue;
09837 else
09838 continue;
09839 else
09840 continue;
09841 else
09842 continue;
09843 else
09844 continue;
09845 else
09846 continue;
09847 else
09848 continue;
09849 else
09850 continue;
09851 else
09852 if (p[offset12] > cb)
09853 if (p[offset13] > cb)
09854 if (p[offset14] > cb)
09855 if (p[offset15] > cb)
09856 if (p[offset1] > cb)
09857 if (p[offset3] > cb)
09858 {}
09859 else
09860 if (p[offset10] > cb)
09861 if (p[offset11] > cb)
09862 {}
09863 else
09864 continue;
09865 else
09866 continue;
09867 else
09868 if (p[offset8] > cb)
09869 if (p[offset9] > cb)
09870 if (p[offset10] > cb)
09871 if (p[offset11] > cb)
09872 {}
09873 else
09874 continue;
09875 else
09876 continue;
09877 else
09878 continue;
09879 else
09880 continue;
09881 else
09882 if (p[offset6] > cb)
09883 if (p[offset7] > cb)
09884 if (p[offset8] > cb)
09885 if (p[offset9] > cb)
09886 if (p[offset10] > cb)
09887 if (p[offset11] > cb)
09888 {}
09889 else
09890 continue;
09891 else
09892 continue;
09893 else
09894 continue;
09895 else
09896 continue;
09897 else
09898 continue;
09899 else
09900 continue;
09901 else
09902 continue;
09903 else
09904 continue;
09905 else if (p[offset12] < c_b)
09906 if (p[offset7] < c_b)
09907 if (p[offset8] < c_b)
09908 if (p[offset9] < c_b)
09909 if (p[offset10] < c_b)
09910 if (p[offset11] < c_b)
09911 if (p[offset13] < c_b)
09912 if (p[offset14] < c_b)
09913 if (p[offset6] < c_b)
09914 {}
09915 else
09916 if (p[offset15] < c_b)
09917 {}
09918 else
09919 continue;
09920 else
09921 continue;
09922 else
09923 continue;
09924 else
09925 continue;
09926 else
09927 continue;
09928 else
09929 continue;
09930 else
09931 continue;
09932 else
09933 continue;
09934 else
09935 continue;
09936 else if (p[offset4] < c_b)
09937 if (p[offset11] > cb)
09938 if (p[offset12] > cb)
09939 if (p[offset13] > cb)
09940 if (p[offset10] > cb)
09941 if (p[offset14] > cb)
09942 if (p[offset15] > cb)
09943 if (p[offset1] > cb)
09944 {}
09945 else
09946 if (p[offset8] > cb)
09947 if (p[offset9] > cb)
09948 {}
09949 else
09950 continue;
09951 else
09952 continue;
09953 else
09954 if (p[offset6] > cb)
09955 if (p[offset7] > cb)
09956 if (p[offset8] > cb)
09957 if (p[offset9] > cb)
09958 {}
09959 else
09960 continue;
09961 else
09962 continue;
09963 else
09964 continue;
09965 else
09966 continue;
09967 else
09968 if (p[offset5] > cb)
09969 if (p[offset6] > cb)
09970 if (p[offset7] > cb)
09971 if (p[offset8] > cb)
09972 if (p[offset9] > cb)
09973 {}
09974 else
09975 continue;
09976 else
09977 continue;
09978 else
09979 continue;
09980 else
09981 continue;
09982 else
09983 continue;
09984 else
09985 if (p[offset1] > cb)
09986 if (p[offset3] > cb)
09987 if (p[offset14] > cb)
09988 if (p[offset15] > cb)
09989 {}
09990 else
09991 continue;
09992 else
09993 continue;
09994 else
09995 continue;
09996 else
09997 continue;
09998 else
09999 continue;
10000 else
10001 continue;
10002 else if (p[offset11] < c_b)
10003 if (p[offset7] < c_b)
10004 if (p[offset8] < c_b)
10005 if (p[offset9] < c_b)
10006 if (p[offset10] < c_b)
10007 if (p[offset6] < c_b)
10008 if (p[offset5] < c_b)
10009 if (p[offset3] < c_b)
10010 {}
10011 else
10012 if (p[offset12] < c_b)
10013 {}
10014 else
10015 continue;
10016 else
10017 if (p[offset12] < c_b)
10018 if (p[offset13] < c_b)
10019 if (p[offset14] < c_b)
10020 {}
10021 else
10022 continue;
10023 else
10024 continue;
10025 else
10026 continue;
10027 else
10028 if (p[offset12] < c_b)
10029 if (p[offset13] < c_b)
10030 if (p[offset14] < c_b)
10031 if (p[offset15] < c_b)
10032 {}
10033 else
10034 continue;
10035 else
10036 continue;
10037 else
10038 continue;
10039 else
10040 continue;
10041 else
10042 continue;
10043 else
10044 continue;
10045 else
10046 continue;
10047 else
10048 continue;
10049 else
10050 continue;
10051 else
10052 if (p[offset11] > cb)
10053 if (p[offset12] > cb)
10054 if (p[offset13] > cb)
10055 if (p[offset10] > cb)
10056 if (p[offset14] > cb)
10057 if (p[offset15] > cb)
10058 if (p[offset1] > cb)
10059 {}
10060 else
10061 if (p[offset8] > cb)
10062 if (p[offset9] > cb)
10063 {}
10064 else
10065 continue;
10066 else
10067 continue;
10068 else
10069 if (p[offset6] > cb)
10070 if (p[offset7] > cb)
10071 if (p[offset8] > cb)
10072 if (p[offset9] > cb)
10073 {}
10074 else
10075 continue;
10076 else
10077 continue;
10078 else
10079 continue;
10080 else
10081 continue;
10082 else
10083 if (p[offset5] > cb)
10084 if (p[offset6] > cb)
10085 if (p[offset7] > cb)
10086 if (p[offset8] > cb)
10087 if (p[offset9] > cb)
10088 {}
10089 else
10090 continue;
10091 else
10092 continue;
10093 else
10094 continue;
10095 else
10096 continue;
10097 else
10098 continue;
10099 else
10100 if (p[offset1] > cb)
10101 if (p[offset3] > cb)
10102 if (p[offset14] > cb)
10103 if (p[offset15] > cb)
10104 {}
10105 else
10106 continue;
10107 else
10108 continue;
10109 else
10110 continue;
10111 else
10112 continue;
10113 else
10114 continue;
10115 else
10116 continue;
10117 else if (p[offset11] < c_b)
10118 if (p[offset7] < c_b)
10119 if (p[offset8] < c_b)
10120 if (p[offset9] < c_b)
10121 if (p[offset10] < c_b)
10122 if (p[offset12] < c_b)
10123 if (p[offset13] < c_b)
10124 if (p[offset6] < c_b)
10125 if (p[offset5] < c_b)
10126 {}
10127 else
10128 if (p[offset14] < c_b)
10129 {}
10130 else
10131 continue;
10132 else
10133 if (p[offset14] < c_b)
10134 if (p[offset15] < c_b)
10135 {}
10136 else
10137 continue;
10138 else
10139 continue;
10140 else
10141 continue;
10142 else
10143 continue;
10144 else
10145 continue;
10146 else
10147 continue;
10148 else
10149 continue;
10150 else
10151 continue;
10152 else
10153 continue;
10154 else if (p[offset2] < c_b)
10155 if (p[offset9] > cb)
10156 if (p[offset10] > cb)
10157 if (p[offset11] > cb)
10158 if (p[offset8] > cb)
10159 if (p[offset12] > cb)
10160 if (p[offset13] > cb)
10161 if (p[offset14] > cb)
10162 if (p[offset15] > cb)
10163 {}
10164 else
10165 if (p[offset6] > cb)
10166 if (p[offset7] > cb)
10167 {}
10168 else
10169 continue;
10170 else
10171 continue;
10172 else
10173 if (p[offset5] > cb)
10174 if (p[offset6] > cb)
10175 if (p[offset7] > cb)
10176 {}
10177 else
10178 continue;
10179 else
10180 continue;
10181 else
10182 continue;
10183 else
10184 if (p[offset4] > cb)
10185 if (p[offset5] > cb)
10186 if (p[offset6] > cb)
10187 if (p[offset7] > cb)
10188 {}
10189 else
10190 continue;
10191 else
10192 continue;
10193 else
10194 continue;
10195 else
10196 continue;
10197 else
10198 if (p[offset3] > cb)
10199 if (p[offset4] > cb)
10200 if (p[offset5] > cb)
10201 if (p[offset6] > cb)
10202 if (p[offset7] > cb)
10203 {}
10204 else
10205 continue;
10206 else
10207 continue;
10208 else
10209 continue;
10210 else
10211 continue;
10212 else
10213 continue;
10214 else
10215 if (p[offset1] > cb)
10216 if (p[offset12] > cb)
10217 if (p[offset13] > cb)
10218 if (p[offset14] > cb)
10219 if (p[offset15] > cb)
10220 {}
10221 else
10222 continue;
10223 else
10224 continue;
10225 else
10226 continue;
10227 else
10228 continue;
10229 else
10230 continue;
10231 else
10232 continue;
10233 else
10234 continue;
10235 else if (p[offset9] < c_b)
10236 if (p[offset7] < c_b)
10237 if (p[offset8] < c_b)
10238 if (p[offset6] < c_b)
10239 if (p[offset5] < c_b)
10240 if (p[offset4] < c_b)
10241 if (p[offset3] < c_b)
10242 if (p[offset1] < c_b)
10243 {}
10244 else
10245 if (p[offset10] < c_b)
10246 {}
10247 else
10248 continue;
10249 else
10250 if (p[offset10] < c_b)
10251 if (p[offset11] < c_b)
10252 if (p[offset12] < c_b)
10253 {}
10254 else
10255 continue;
10256 else
10257 continue;
10258 else
10259 continue;
10260 else
10261 if (p[offset10] < c_b)
10262 if (p[offset11] < c_b)
10263 if (p[offset12] < c_b)
10264 if (p[offset13] < c_b)
10265 {}
10266 else
10267 continue;
10268 else
10269 continue;
10270 else
10271 continue;
10272 else
10273 continue;
10274 else
10275 if (p[offset10] < c_b)
10276 if (p[offset11] < c_b)
10277 if (p[offset12] < c_b)
10278 if (p[offset13] < c_b)
10279 if (p[offset14] < c_b)
10280 {}
10281 else
10282 continue;
10283 else
10284 continue;
10285 else
10286 continue;
10287 else
10288 continue;
10289 else
10290 continue;
10291 else
10292 if (p[offset10] < c_b)
10293 if (p[offset11] < c_b)
10294 if (p[offset12] < c_b)
10295 if (p[offset13] < c_b)
10296 if (p[offset14] < c_b)
10297 if (p[offset15] < c_b)
10298 {}
10299 else
10300 continue;
10301 else
10302 continue;
10303 else
10304 continue;
10305 else
10306 continue;
10307 else
10308 continue;
10309 else
10310 continue;
10311 else
10312 continue;
10313 else
10314 continue;
10315 else
10316 continue;
10317 else
10318 if (p[offset9] > cb)
10319 if (p[offset10] > cb)
10320 if (p[offset11] > cb)
10321 if (p[offset8] > cb)
10322 if (p[offset12] > cb)
10323 if (p[offset13] > cb)
10324 if (p[offset14] > cb)
10325 if (p[offset15] > cb)
10326 {}
10327 else
10328 if (p[offset6] > cb)
10329 if (p[offset7] > cb)
10330 {}
10331 else
10332 continue;
10333 else
10334 continue;
10335 else
10336 if (p[offset5] > cb)
10337 if (p[offset6] > cb)
10338 if (p[offset7] > cb)
10339 {}
10340 else
10341 continue;
10342 else
10343 continue;
10344 else
10345 continue;
10346 else
10347 if (p[offset4] > cb)
10348 if (p[offset5] > cb)
10349 if (p[offset6] > cb)
10350 if (p[offset7] > cb)
10351 {}
10352 else
10353 continue;
10354 else
10355 continue;
10356 else
10357 continue;
10358 else
10359 continue;
10360 else
10361 if (p[offset3] > cb)
10362 if (p[offset4] > cb)
10363 if (p[offset5] > cb)
10364 if (p[offset6] > cb)
10365 if (p[offset7] > cb)
10366 {}
10367 else
10368 continue;
10369 else
10370 continue;
10371 else
10372 continue;
10373 else
10374 continue;
10375 else
10376 continue;
10377 else
10378 if (p[offset1] > cb)
10379 if (p[offset12] > cb)
10380 if (p[offset13] > cb)
10381 if (p[offset14] > cb)
10382 if (p[offset15] > cb)
10383 {}
10384 else
10385 continue;
10386 else
10387 continue;
10388 else
10389 continue;
10390 else
10391 continue;
10392 else
10393 continue;
10394 else
10395 continue;
10396 else
10397 continue;
10398 else if (p[offset9] < c_b)
10399 if (p[offset7] < c_b)
10400 if (p[offset8] < c_b)
10401 if (p[offset10] < c_b)
10402 if (p[offset11] < c_b)
10403 if (p[offset6] < c_b)
10404 if (p[offset5] < c_b)
10405 if (p[offset4] < c_b)
10406 if (p[offset3] < c_b)
10407 {}
10408 else
10409 if (p[offset12] < c_b)
10410 {}
10411 else
10412 continue;
10413 else
10414 if (p[offset12] < c_b)
10415 if (p[offset13] < c_b)
10416 {}
10417 else
10418 continue;
10419 else
10420 continue;
10421 else
10422 if (p[offset12] < c_b)
10423 if (p[offset13] < c_b)
10424 if (p[offset14] < c_b)
10425 {}
10426 else
10427 continue;
10428 else
10429 continue;
10430 else
10431 continue;
10432 else
10433 if (p[offset12] < c_b)
10434 if (p[offset13] < c_b)
10435 if (p[offset14] < c_b)
10436 if (p[offset15] < c_b)
10437 {}
10438 else
10439 continue;
10440 else
10441 continue;
10442 else
10443 continue;
10444 else
10445 continue;
10446 else
10447 continue;
10448 else
10449 continue;
10450 else
10451 continue;
10452 else
10453 continue;
10454 else
10455 continue;
10456 else if (p[offset0] < c_b)
10457 if (p[offset2] > cb)
10458 if (p[offset9] > cb)
10459 if (p[offset7] > cb)
10460 if (p[offset8] > cb)
10461 if (p[offset6] > cb)
10462 if (p[offset5] > cb)
10463 if (p[offset4] > cb)
10464 if (p[offset3] > cb)
10465 if (p[offset1] > cb)
10466 {}
10467 else
10468 if (p[offset10] > cb)
10469 {}
10470 else
10471 continue;
10472 else
10473 if (p[offset10] > cb)
10474 if (p[offset11] > cb)
10475 if (p[offset12] > cb)
10476 {}
10477 else
10478 continue;
10479 else
10480 continue;
10481 else
10482 continue;
10483 else
10484 if (p[offset10] > cb)
10485 if (p[offset11] > cb)
10486 if (p[offset12] > cb)
10487 if (p[offset13] > cb)
10488 {}
10489 else
10490 continue;
10491 else
10492 continue;
10493 else
10494 continue;
10495 else
10496 continue;
10497 else
10498 if (p[offset10] > cb)
10499 if (p[offset11] > cb)
10500 if (p[offset12] > cb)
10501 if (p[offset13] > cb)
10502 if (p[offset14] > cb)
10503 {}
10504 else
10505 continue;
10506 else
10507 continue;
10508 else
10509 continue;
10510 else
10511 continue;
10512 else
10513 continue;
10514 else
10515 if (p[offset10] > cb)
10516 if (p[offset11] > cb)
10517 if (p[offset12] > cb)
10518 if (p[offset13] > cb)
10519 if (p[offset14] > cb)
10520 if (p[offset15] > cb)
10521 {}
10522 else
10523 continue;
10524 else
10525 continue;
10526 else
10527 continue;
10528 else
10529 continue;
10530 else
10531 continue;
10532 else
10533 continue;
10534 else
10535 continue;
10536 else
10537 continue;
10538 else if (p[offset9] < c_b)
10539 if (p[offset10] < c_b)
10540 if (p[offset11] < c_b)
10541 if (p[offset8] < c_b)
10542 if (p[offset12] < c_b)
10543 if (p[offset13] < c_b)
10544 if (p[offset14] < c_b)
10545 if (p[offset15] < c_b)
10546 {}
10547 else
10548 if (p[offset6] < c_b)
10549 if (p[offset7] < c_b)
10550 {}
10551 else
10552 continue;
10553 else
10554 continue;
10555 else
10556 if (p[offset5] < c_b)
10557 if (p[offset6] < c_b)
10558 if (p[offset7] < c_b)
10559 {}
10560 else
10561 continue;
10562 else
10563 continue;
10564 else
10565 continue;
10566 else
10567 if (p[offset4] < c_b)
10568 if (p[offset5] < c_b)
10569 if (p[offset6] < c_b)
10570 if (p[offset7] < c_b)
10571 {}
10572 else
10573 continue;
10574 else
10575 continue;
10576 else
10577 continue;
10578 else
10579 continue;
10580 else
10581 if (p[offset3] < c_b)
10582 if (p[offset4] < c_b)
10583 if (p[offset5] < c_b)
10584 if (p[offset6] < c_b)
10585 if (p[offset7] < c_b)
10586 {}
10587 else
10588 continue;
10589 else
10590 continue;
10591 else
10592 continue;
10593 else
10594 continue;
10595 else
10596 continue;
10597 else
10598 if (p[offset1] < c_b)
10599 if (p[offset12] < c_b)
10600 if (p[offset13] < c_b)
10601 if (p[offset14] < c_b)
10602 if (p[offset15] < c_b)
10603 {}
10604 else
10605 continue;
10606 else
10607 continue;
10608 else
10609 continue;
10610 else
10611 continue;
10612 else
10613 continue;
10614 else
10615 continue;
10616 else
10617 continue;
10618 else
10619 continue;
10620 else if (p[offset2] < c_b)
10621 if (p[offset4] > cb)
10622 if (p[offset11] > cb)
10623 if (p[offset7] > cb)
10624 if (p[offset8] > cb)
10625 if (p[offset9] > cb)
10626 if (p[offset10] > cb)
10627 if (p[offset6] > cb)
10628 if (p[offset5] > cb)
10629 if (p[offset3] > cb)
10630 {}
10631 else
10632 if (p[offset12] > cb)
10633 {}
10634 else
10635 continue;
10636 else
10637 if (p[offset12] > cb)
10638 if (p[offset13] > cb)
10639 if (p[offset14] > cb)
10640 {}
10641 else
10642 continue;
10643 else
10644 continue;
10645 else
10646 continue;
10647 else
10648 if (p[offset12] > cb)
10649 if (p[offset13] > cb)
10650 if (p[offset14] > cb)
10651 if (p[offset15] > cb)
10652 {}
10653 else
10654 continue;
10655 else
10656 continue;
10657 else
10658 continue;
10659 else
10660 continue;
10661 else
10662 continue;
10663 else
10664 continue;
10665 else
10666 continue;
10667 else
10668 continue;
10669 else if (p[offset11] < c_b)
10670 if (p[offset12] < c_b)
10671 if (p[offset13] < c_b)
10672 if (p[offset10] < c_b)
10673 if (p[offset14] < c_b)
10674 if (p[offset15] < c_b)
10675 if (p[offset1] < c_b)
10676 {}
10677 else
10678 if (p[offset8] < c_b)
10679 if (p[offset9] < c_b)
10680 {}
10681 else
10682 continue;
10683 else
10684 continue;
10685 else
10686 if (p[offset6] < c_b)
10687 if (p[offset7] < c_b)
10688 if (p[offset8] < c_b)
10689 if (p[offset9] < c_b)
10690 {}
10691 else
10692 continue;
10693 else
10694 continue;
10695 else
10696 continue;
10697 else
10698 continue;
10699 else
10700 if (p[offset5] < c_b)
10701 if (p[offset6] < c_b)
10702 if (p[offset7] < c_b)
10703 if (p[offset8] < c_b)
10704 if (p[offset9] < c_b)
10705 {}
10706 else
10707 continue;
10708 else
10709 continue;
10710 else
10711 continue;
10712 else
10713 continue;
10714 else
10715 continue;
10716 else
10717 if (p[offset1] < c_b)
10718 if (p[offset3] < c_b)
10719 if (p[offset14] < c_b)
10720 if (p[offset15] < c_b)
10721 {}
10722 else
10723 continue;
10724 else
10725 continue;
10726 else
10727 continue;
10728 else
10729 continue;
10730 else
10731 continue;
10732 else
10733 continue;
10734 else
10735 continue;
10736 else if (p[offset4] < c_b)
10737 if (p[offset5] > cb)
10738 if (p[offset12] > cb)
10739 if (p[offset7] > cb)
10740 if (p[offset8] > cb)
10741 if (p[offset9] > cb)
10742 if (p[offset10] > cb)
10743 if (p[offset11] > cb)
10744 if (p[offset13] > cb)
10745 if (p[offset6] > cb)
10746 {}
10747 else
10748 if (p[offset14] > cb)
10749 if (p[offset15] > cb)
10750 {}
10751 else
10752 continue;
10753 else
10754 continue;
10755 else
10756 continue;
10757 else
10758 continue;
10759 else
10760 continue;
10761 else
10762 continue;
10763 else
10764 continue;
10765 else
10766 continue;
10767 else if (p[offset12] < c_b)
10768 if (p[offset13] < c_b)
10769 if (p[offset14] < c_b)
10770 if (p[offset15] < c_b)
10771 if (p[offset1] < c_b)
10772 if (p[offset3] < c_b)
10773 {}
10774 else
10775 if (p[offset10] < c_b)
10776 if (p[offset11] < c_b)
10777 {}
10778 else
10779 continue;
10780 else
10781 continue;
10782 else
10783 if (p[offset8] < c_b)
10784 if (p[offset9] < c_b)
10785 if (p[offset10] < c_b)
10786 if (p[offset11] < c_b)
10787 {}
10788 else
10789 continue;
10790 else
10791 continue;
10792 else
10793 continue;
10794 else
10795 continue;
10796 else
10797 if (p[offset6] < c_b)
10798 if (p[offset7] < c_b)
10799 if (p[offset8] < c_b)
10800 if (p[offset9] < c_b)
10801 if (p[offset10] < c_b)
10802 if (p[offset11] < c_b)
10803 {}
10804 else
10805 continue;
10806 else
10807 continue;
10808 else
10809 continue;
10810 else
10811 continue;
10812 else
10813 continue;
10814 else
10815 continue;
10816 else
10817 continue;
10818 else
10819 continue;
10820 else
10821 continue;
10822 else if (p[offset5] < c_b)
10823 if (p[offset7] > cb)
10824 if (p[offset14] > cb)
10825 if (p[offset8] > cb)
10826 if (p[offset9] > cb)
10827 if (p[offset10] > cb)
10828 if (p[offset11] > cb)
10829 if (p[offset12] > cb)
10830 if (p[offset13] > cb)
10831 if (p[offset6] > cb)
10832 {}
10833 else
10834 if (p[offset15] > cb)
10835 {}
10836 else
10837 continue;
10838 else
10839 continue;
10840 else
10841 continue;
10842 else
10843 continue;
10844 else
10845 continue;
10846 else
10847 continue;
10848 else
10849 continue;
10850 else if (p[offset14] < c_b)
10851 if (p[offset15] < c_b)
10852 if (p[offset1] < c_b)
10853 if (p[offset3] < c_b)
10854 if (p[offset6] < c_b)
10855 {}
10856 else
10857 if (p[offset13] < c_b)
10858 {}
10859 else
10860 continue;
10861 else
10862 if (p[offset10] < c_b)
10863 if (p[offset11] < c_b)
10864 if (p[offset12] < c_b)
10865 if (p[offset13] < c_b)
10866 {}
10867 else
10868 continue;
10869 else
10870 continue;
10871 else
10872 continue;
10873 else
10874 continue;
10875 else
10876 if (p[offset8] < c_b)
10877 if (p[offset9] < c_b)
10878 if (p[offset10] < c_b)
10879 if (p[offset11] < c_b)
10880 if (p[offset12] < c_b)
10881 if (p[offset13] < c_b)
10882 {}
10883 else
10884 continue;
10885 else
10886 continue;
10887 else
10888 continue;
10889 else
10890 continue;
10891 else
10892 continue;
10893 else
10894 continue;
10895 else
10896 continue;
10897 else
10898 continue;
10899 else if (p[offset7] < c_b)
10900 if (p[offset3] < c_b)
10901 if (p[offset1] < c_b)
10902 if (p[offset6] < c_b)
10903 if (p[offset8] < c_b)
10904 {}
10905 else
10906 if (p[offset15] < c_b)
10907 {}
10908 else
10909 continue;
10910 else
10911 if (p[offset13] < c_b)
10912 if (p[offset14] < c_b)
10913 if (p[offset15] < c_b)
10914 {}
10915 else
10916 continue;
10917 else
10918 continue;
10919 else
10920 continue;
10921 else
10922 if (p[offset8] < c_b)
10923 if (p[offset9] < c_b)
10924 if (p[offset10] < c_b)
10925 if (p[offset6] < c_b)
10926 {}
10927 else
10928 if (p[offset11] < c_b)
10929 if (p[offset12] < c_b)
10930 if (p[offset13] < c_b)
10931 if (p[offset14] < c_b)
10932 if (p[offset15] < c_b)
10933 {}
10934 else
10935 continue;
10936 else
10937 continue;
10938 else
10939 continue;
10940 else
10941 continue;
10942 else
10943 continue;
10944 else
10945 continue;
10946 else
10947 continue;
10948 else
10949 continue;
10950 else
10951 if (p[offset10] < c_b)
10952 if (p[offset11] < c_b)
10953 if (p[offset12] < c_b)
10954 if (p[offset8] < c_b)
10955 if (p[offset9] < c_b)
10956 if (p[offset6] < c_b)
10957 {}
10958 else
10959 if (p[offset13] < c_b)
10960 if (p[offset14] < c_b)
10961 if (p[offset15] < c_b)
10962 {}
10963 else
10964 continue;
10965 else
10966 continue;
10967 else
10968 continue;
10969 else
10970 if (p[offset1] < c_b)
10971 if (p[offset13] < c_b)
10972 if (p[offset14] < c_b)
10973 if (p[offset15] < c_b)
10974 {}
10975 else
10976 continue;
10977 else
10978 continue;
10979 else
10980 continue;
10981 else
10982 continue;
10983 else
10984 if (p[offset1] < c_b)
10985 if (p[offset13] < c_b)
10986 if (p[offset14] < c_b)
10987 if (p[offset15] < c_b)
10988 {}
10989 else
10990 continue;
10991 else
10992 continue;
10993 else
10994 continue;
10995 else
10996 continue;
10997 else
10998 continue;
10999 else
11000 continue;
11001 else
11002 continue;
11003 else
11004 if (p[offset14] < c_b)
11005 if (p[offset15] < c_b)
11006 if (p[offset1] < c_b)
11007 if (p[offset3] < c_b)
11008 if (p[offset6] < c_b)
11009 {}
11010 else
11011 if (p[offset13] < c_b)
11012 {}
11013 else
11014 continue;
11015 else
11016 if (p[offset10] < c_b)
11017 if (p[offset11] < c_b)
11018 if (p[offset12] < c_b)
11019 if (p[offset13] < c_b)
11020 {}
11021 else
11022 continue;
11023 else
11024 continue;
11025 else
11026 continue;
11027 else
11028 continue;
11029 else
11030 if (p[offset8] < c_b)
11031 if (p[offset9] < c_b)
11032 if (p[offset10] < c_b)
11033 if (p[offset11] < c_b)
11034 if (p[offset12] < c_b)
11035 if (p[offset13] < c_b)
11036 {}
11037 else
11038 continue;
11039 else
11040 continue;
11041 else
11042 continue;
11043 else
11044 continue;
11045 else
11046 continue;
11047 else
11048 continue;
11049 else
11050 continue;
11051 else
11052 continue;
11053 else
11054 if (p[offset12] > cb)
11055 if (p[offset7] > cb)
11056 if (p[offset8] > cb)
11057 if (p[offset9] > cb)
11058 if (p[offset10] > cb)
11059 if (p[offset11] > cb)
11060 if (p[offset13] > cb)
11061 if (p[offset14] > cb)
11062 if (p[offset6] > cb)
11063 {}
11064 else
11065 if (p[offset15] > cb)
11066 {}
11067 else
11068 continue;
11069 else
11070 continue;
11071 else
11072 continue;
11073 else
11074 continue;
11075 else
11076 continue;
11077 else
11078 continue;
11079 else
11080 continue;
11081 else
11082 continue;
11083 else if (p[offset12] < c_b)
11084 if (p[offset13] < c_b)
11085 if (p[offset14] < c_b)
11086 if (p[offset15] < c_b)
11087 if (p[offset1] < c_b)
11088 if (p[offset3] < c_b)
11089 {}
11090 else
11091 if (p[offset10] < c_b)
11092 if (p[offset11] < c_b)
11093 {}
11094 else
11095 continue;
11096 else
11097 continue;
11098 else
11099 if (p[offset8] < c_b)
11100 if (p[offset9] < c_b)
11101 if (p[offset10] < c_b)
11102 if (p[offset11] < c_b)
11103 {}
11104 else
11105 continue;
11106 else
11107 continue;
11108 else
11109 continue;
11110 else
11111 continue;
11112 else
11113 if (p[offset6] < c_b)
11114 if (p[offset7] < c_b)
11115 if (p[offset8] < c_b)
11116 if (p[offset9] < c_b)
11117 if (p[offset10] < c_b)
11118 if (p[offset11] < c_b)
11119 {}
11120 else
11121 continue;
11122 else
11123 continue;
11124 else
11125 continue;
11126 else
11127 continue;
11128 else
11129 continue;
11130 else
11131 continue;
11132 else
11133 continue;
11134 else
11135 continue;
11136 else
11137 continue;
11138 else
11139 if (p[offset11] > cb)
11140 if (p[offset7] > cb)
11141 if (p[offset8] > cb)
11142 if (p[offset9] > cb)
11143 if (p[offset10] > cb)
11144 if (p[offset12] > cb)
11145 if (p[offset13] > cb)
11146 if (p[offset6] > cb)
11147 if (p[offset5] > cb)
11148 {}
11149 else
11150 if (p[offset14] > cb)
11151 {}
11152 else
11153 continue;
11154 else
11155 if (p[offset14] > cb)
11156 if (p[offset15] > cb)
11157 {}
11158 else
11159 continue;
11160 else
11161 continue;
11162 else
11163 continue;
11164 else
11165 continue;
11166 else
11167 continue;
11168 else
11169 continue;
11170 else
11171 continue;
11172 else
11173 continue;
11174 else if (p[offset11] < c_b)
11175 if (p[offset12] < c_b)
11176 if (p[offset13] < c_b)
11177 if (p[offset10] < c_b)
11178 if (p[offset14] < c_b)
11179 if (p[offset15] < c_b)
11180 if (p[offset1] < c_b)
11181 {}
11182 else
11183 if (p[offset8] < c_b)
11184 if (p[offset9] < c_b)
11185 {}
11186 else
11187 continue;
11188 else
11189 continue;
11190 else
11191 if (p[offset6] < c_b)
11192 if (p[offset7] < c_b)
11193 if (p[offset8] < c_b)
11194 if (p[offset9] < c_b)
11195 {}
11196 else
11197 continue;
11198 else
11199 continue;
11200 else
11201 continue;
11202 else
11203 continue;
11204 else
11205 if (p[offset5] < c_b)
11206 if (p[offset6] < c_b)
11207 if (p[offset7] < c_b)
11208 if (p[offset8] < c_b)
11209 if (p[offset9] < c_b)
11210 {}
11211 else
11212 continue;
11213 else
11214 continue;
11215 else
11216 continue;
11217 else
11218 continue;
11219 else
11220 continue;
11221 else
11222 if (p[offset1] < c_b)
11223 if (p[offset3] < c_b)
11224 if (p[offset14] < c_b)
11225 if (p[offset15] < c_b)
11226 {}
11227 else
11228 continue;
11229 else
11230 continue;
11231 else
11232 continue;
11233 else
11234 continue;
11235 else
11236 continue;
11237 else
11238 continue;
11239 else
11240 continue;
11241 else
11242 if (p[offset9] > cb)
11243 if (p[offset7] > cb)
11244 if (p[offset8] > cb)
11245 if (p[offset10] > cb)
11246 if (p[offset11] > cb)
11247 if (p[offset6] > cb)
11248 if (p[offset5] > cb)
11249 if (p[offset4] > cb)
11250 if (p[offset3] > cb)
11251 {}
11252 else
11253 if (p[offset12] > cb)
11254 {}
11255 else
11256 continue;
11257 else
11258 if (p[offset12] > cb)
11259 if (p[offset13] > cb)
11260 {}
11261 else
11262 continue;
11263 else
11264 continue;
11265 else
11266 if (p[offset12] > cb)
11267 if (p[offset13] > cb)
11268 if (p[offset14] > cb)
11269 {}
11270 else
11271 continue;
11272 else
11273 continue;
11274 else
11275 continue;
11276 else
11277 if (p[offset12] > cb)
11278 if (p[offset13] > cb)
11279 if (p[offset14] > cb)
11280 if (p[offset15] > cb)
11281 {}
11282 else
11283 continue;
11284 else
11285 continue;
11286 else
11287 continue;
11288 else
11289 continue;
11290 else
11291 continue;
11292 else
11293 continue;
11294 else
11295 continue;
11296 else
11297 continue;
11298 else if (p[offset9] < c_b)
11299 if (p[offset10] < c_b)
11300 if (p[offset11] < c_b)
11301 if (p[offset8] < c_b)
11302 if (p[offset12] < c_b)
11303 if (p[offset13] < c_b)
11304 if (p[offset14] < c_b)
11305 if (p[offset15] < c_b)
11306 {}
11307 else
11308 if (p[offset6] < c_b)
11309 if (p[offset7] < c_b)
11310 {}
11311 else
11312 continue;
11313 else
11314 continue;
11315 else
11316 if (p[offset5] < c_b)
11317 if (p[offset6] < c_b)
11318 if (p[offset7] < c_b)
11319 {}
11320 else
11321 continue;
11322 else
11323 continue;
11324 else
11325 continue;
11326 else
11327 if (p[offset4] < c_b)
11328 if (p[offset5] < c_b)
11329 if (p[offset6] < c_b)
11330 if (p[offset7] < c_b)
11331 {}
11332 else
11333 continue;
11334 else
11335 continue;
11336 else
11337 continue;
11338 else
11339 continue;
11340 else
11341 if (p[offset3] < c_b)
11342 if (p[offset4] < c_b)
11343 if (p[offset5] < c_b)
11344 if (p[offset6] < c_b)
11345 if (p[offset7] < c_b)
11346 {}
11347 else
11348 continue;
11349 else
11350 continue;
11351 else
11352 continue;
11353 else
11354 continue;
11355 else
11356 continue;
11357 else
11358 if (p[offset1] < c_b)
11359 if (p[offset12] < c_b)
11360 if (p[offset13] < c_b)
11361 if (p[offset14] < c_b)
11362 if (p[offset15] < c_b)
11363 {}
11364 else
11365 continue;
11366 else
11367 continue;
11368 else
11369 continue;
11370 else
11371 continue;
11372 else
11373 continue;
11374 else
11375 continue;
11376 else
11377 continue;
11378 else
11379 continue;
11380 else
11381 if (p[offset7] > cb)
11382 if (p[offset8] > cb)
11383 if (p[offset9] > cb)
11384 if (p[offset6] > cb)
11385 if (p[offset5] > cb)
11386 if (p[offset4] > cb)
11387 if (p[offset3] > cb)
11388 if (p[offset2] > cb)
11389 if (p[offset1] > cb)
11390 {}
11391 else
11392 if (p[offset10] > cb)
11393 {}
11394 else
11395 continue;
11396 else
11397 if (p[offset10] > cb)
11398 if (p[offset11] > cb)
11399 {}
11400 else
11401 continue;
11402 else
11403 continue;
11404 else
11405 if (p[offset10] > cb)
11406 if (p[offset11] > cb)
11407 if (p[offset12] > cb)
11408 {}
11409 else
11410 continue;
11411 else
11412 continue;
11413 else
11414 continue;
11415 else
11416 if (p[offset10] > cb)
11417 if (p[offset11] > cb)
11418 if (p[offset12] > cb)
11419 if (p[offset13] > cb)
11420 {}
11421 else
11422 continue;
11423 else
11424 continue;
11425 else
11426 continue;
11427 else
11428 continue;
11429 else
11430 if (p[offset10] > cb)
11431 if (p[offset11] > cb)
11432 if (p[offset12] > cb)
11433 if (p[offset13] > cb)
11434 if (p[offset14] > cb)
11435 {}
11436 else
11437 continue;
11438 else
11439 continue;
11440 else
11441 continue;
11442 else
11443 continue;
11444 else
11445 continue;
11446 else
11447 if (p[offset10] > cb)
11448 if (p[offset11] > cb)
11449 if (p[offset12] > cb)
11450 if (p[offset13] > cb)
11451 if (p[offset14] > cb)
11452 if (p[offset15] > cb)
11453 {}
11454 else
11455 continue;
11456 else
11457 continue;
11458 else
11459 continue;
11460 else
11461 continue;
11462 else
11463 continue;
11464 else
11465 continue;
11466 else
11467 continue;
11468 else
11469 continue;
11470 else if (p[offset7] < c_b)
11471 if (p[offset8] < c_b)
11472 if (p[offset9] < c_b)
11473 if (p[offset6] < c_b)
11474 if (p[offset5] < c_b)
11475 if (p[offset4] < c_b)
11476 if (p[offset3] < c_b)
11477 if (p[offset2] < c_b)
11478 if (p[offset1] < c_b)
11479 {}
11480 else
11481 if (p[offset10] < c_b)
11482 {}
11483 else
11484 continue;
11485 else
11486 if (p[offset10] < c_b)
11487 if (p[offset11] < c_b)
11488 {}
11489 else
11490 continue;
11491 else
11492 continue;
11493 else
11494 if (p[offset10] < c_b)
11495 if (p[offset11] < c_b)
11496 if (p[offset12] < c_b)
11497 {}
11498 else
11499 continue;
11500 else
11501 continue;
11502 else
11503 continue;
11504 else
11505 if (p[offset10] < c_b)
11506 if (p[offset11] < c_b)
11507 if (p[offset12] < c_b)
11508 if (p[offset13] < c_b)
11509 {}
11510 else
11511 continue;
11512 else
11513 continue;
11514 else
11515 continue;
11516 else
11517 continue;
11518 else
11519 if (p[offset10] < c_b)
11520 if (p[offset11] < c_b)
11521 if (p[offset12] < c_b)
11522 if (p[offset13] < c_b)
11523 if (p[offset14] < c_b)
11524 {}
11525 else
11526 continue;
11527 else
11528 continue;
11529 else
11530 continue;
11531 else
11532 continue;
11533 else
11534 continue;
11535 else
11536 if (p[offset10] < c_b)
11537 if (p[offset11] < c_b)
11538 if (p[offset12] < c_b)
11539 if (p[offset13] < c_b)
11540 if (p[offset14] < c_b)
11541 if (p[offset15] < c_b)
11542 {}
11543 else
11544 continue;
11545 else
11546 continue;
11547 else
11548 continue;
11549 else
11550 continue;
11551 else
11552 continue;
11553 else
11554 continue;
11555 else
11556 continue;
11557 else
11558 continue;
11559 else
11560 continue;
11561 }
11562 if (total == n_expected_corners)
11563 {
11564 if (n_expected_corners == 0)
11565 {
11566 n_expected_corners = 512;
11567 corners.reserve (n_expected_corners);
11568 }
11569 else
11570 {
11571 n_expected_corners *= 2;
11572 corners.reserve (n_expected_corners);
11573 }
11574 }
11575 h.u = float (x);
11576 h.v = float (y);
11577 corners.push_back (h);
11578 total++;
11579 }
11580 }
11581 }
11582
11584
11585 template <typename T1, typename T2> int
11586 OastDetector9_16_computeCornerScore (
11587 const T1* p,
11588 double im_bmax,
11589 double score_threshold,
11590 int_fast16_t s_offset0,
11591 int_fast16_t s_offset1,
11592 int_fast16_t s_offset2,
11593 int_fast16_t s_offset3,
11594 int_fast16_t s_offset4,
11595 int_fast16_t s_offset5,
11596 int_fast16_t s_offset6,
11597 int_fast16_t s_offset7,
11598 int_fast16_t s_offset8,
11599 int_fast16_t s_offset9,
11600 int_fast16_t s_offset10,
11601 int_fast16_t s_offset11,
11602 int_fast16_t s_offset12,
11603 int_fast16_t s_offset13,
11604 int_fast16_t s_offset14,
11605 int_fast16_t s_offset15)
11606 {
11607 T2 bmin = T2 (score_threshold);
11608 T2 bmax = T2 (im_bmax);
11609 int b_test = int ((bmax + bmin) / 2);
11610
11611 register int_fast16_t offset0 = s_offset0;
11612 register int_fast16_t offset1 = s_offset1;
11613 register int_fast16_t offset2 = s_offset2;
11614 register int_fast16_t offset3 = s_offset3;
11615 register int_fast16_t offset4 = s_offset4;
11616 register int_fast16_t offset5 = s_offset5;
11617 register int_fast16_t offset6 = s_offset6;
11618 register int_fast16_t offset7 = s_offset7;
11619 register int_fast16_t offset8 = s_offset8;
11620 register int_fast16_t offset9 = s_offset9;
11621 register int_fast16_t offset10 = s_offset10;
11622 register int_fast16_t offset11 = s_offset11;
11623 register int_fast16_t offset12 = s_offset12;
11624 register int_fast16_t offset13 = s_offset13;
11625 register int_fast16_t offset14 = s_offset14;
11626 register int_fast16_t offset15 = s_offset15;
11627
11628 while (1)
11629 {
11630 register const T2 cb = *p + T2 (b_test);
11631 register const T2 c_b = *p - T2 (b_test);
11632 if (p[offset0] > cb)
11633 if (p[offset2] > cb)
11634 if (p[offset4] > cb)
11635 if (p[offset5] > cb)
11636 if (p[offset7] > cb)
11637 if (p[offset3] > cb)
11638 if (p[offset1] > cb)
11639 if (p[offset6] > cb)
11640 if (p[offset8] > cb)
11641 goto is_a_corner;
11642 else
11643 if (p[offset15] > cb)
11644 goto is_a_corner;
11645 else
11646 goto is_not_a_corner;
11647 else
11648 if (p[offset13] > cb)
11649 if (p[offset14] > cb)
11650 if (p[offset15] > cb)
11651 goto is_a_corner;
11652 else
11653 goto is_not_a_corner;
11654 else
11655 goto is_not_a_corner;
11656 else
11657 goto is_not_a_corner;
11658 else
11659 if (p[offset8] > cb)
11660 if (p[offset9] > cb)
11661 if (p[offset10] > cb)
11662 if (p[offset6] > cb)
11663 goto is_a_corner;
11664 else
11665 if (p[offset11] > cb)
11666 if (p[offset12] > cb)
11667 if (p[offset13] > cb)
11668 if (p[offset14] > cb)
11669 if (p[offset15] > cb)
11670 goto is_a_corner;
11671 else
11672 goto is_not_a_corner;
11673 else
11674 goto is_not_a_corner;
11675 else
11676 goto is_not_a_corner;
11677 else
11678 goto is_not_a_corner;
11679 else
11680 goto is_not_a_corner;
11681 else
11682 goto is_not_a_corner;
11683 else
11684 goto is_not_a_corner;
11685 else
11686 goto is_not_a_corner;
11687 else
11688 if (p[offset10] > cb)
11689 if (p[offset11] > cb)
11690 if (p[offset12] > cb)
11691 if (p[offset8] > cb)
11692 if (p[offset9] > cb)
11693 if (p[offset6] > cb)
11694 goto is_a_corner;
11695 else
11696 if (p[offset13] > cb)
11697 if (p[offset14] > cb)
11698 if (p[offset15] > cb)
11699 goto is_a_corner;
11700 else
11701 goto is_not_a_corner;
11702 else
11703 goto is_not_a_corner;
11704 else
11705 goto is_not_a_corner;
11706 else
11707 if (p[offset1] > cb)
11708 if (p[offset13] > cb)
11709 if (p[offset14] > cb)
11710 if (p[offset15] > cb)
11711 goto is_a_corner;
11712 else
11713 goto is_not_a_corner;
11714 else
11715 goto is_not_a_corner;
11716 else
11717 goto is_not_a_corner;
11718 else
11719 goto is_not_a_corner;
11720 else
11721 if (p[offset1] > cb)
11722 if (p[offset13] > cb)
11723 if (p[offset14] > cb)
11724 if (p[offset15] > cb)
11725 goto is_a_corner;
11726 else
11727 goto is_not_a_corner;
11728 else
11729 goto is_not_a_corner;
11730 else
11731 goto is_not_a_corner;
11732 else
11733 goto is_not_a_corner;
11734 else
11735 goto is_not_a_corner;
11736 else
11737 goto is_not_a_corner;
11738 else
11739 goto is_not_a_corner;
11740 else if (p[offset7] < c_b)
11741 if (p[offset14] > cb)
11742 if (p[offset15] > cb)
11743 if (p[offset1] > cb)
11744 if (p[offset3] > cb)
11745 if (p[offset6] > cb)
11746 goto is_a_corner;
11747 else
11748 if (p[offset13] > cb)
11749 goto is_a_corner;
11750 else
11751 goto is_not_a_corner;
11752 else
11753 if (p[offset10] > cb)
11754 if (p[offset11] > cb)
11755 if (p[offset12] > cb)
11756 if (p[offset13] > cb)
11757 goto is_a_corner;
11758 else
11759 goto is_not_a_corner;
11760 else
11761 goto is_not_a_corner;
11762 else
11763 goto is_not_a_corner;
11764 else
11765 goto is_not_a_corner;
11766 else
11767 if (p[offset8] > cb)
11768 if (p[offset9] > cb)
11769 if (p[offset10] > cb)
11770 if (p[offset11] > cb)
11771 if (p[offset12] > cb)
11772 if (p[offset13] > cb)
11773 goto is_a_corner;
11774 else
11775 goto is_not_a_corner;
11776 else
11777 goto is_not_a_corner;
11778 else
11779 goto is_not_a_corner;
11780 else
11781 goto is_not_a_corner;
11782 else
11783 goto is_not_a_corner;
11784 else
11785 goto is_not_a_corner;
11786 else
11787 goto is_not_a_corner;
11788 else if (p[offset14] < c_b)
11789 if (p[offset8] < c_b)
11790 if (p[offset9] < c_b)
11791 if (p[offset10] < c_b)
11792 if (p[offset11] < c_b)
11793 if (p[offset12] < c_b)
11794 if (p[offset13] < c_b)
11795 if (p[offset6] < c_b)
11796 goto is_a_corner;
11797 else
11798 if (p[offset15] < c_b)
11799 goto is_a_corner;
11800 else
11801 goto is_not_a_corner;
11802 else
11803 goto is_not_a_corner;
11804 else
11805 goto is_not_a_corner;
11806 else
11807 goto is_not_a_corner;
11808 else
11809 goto is_not_a_corner;
11810 else
11811 goto is_not_a_corner;
11812 else
11813 goto is_not_a_corner;
11814 else
11815 goto is_not_a_corner;
11816 else
11817 if (p[offset14] > cb)
11818 if (p[offset15] > cb)
11819 if (p[offset1] > cb)
11820 if (p[offset3] > cb)
11821 if (p[offset6] > cb)
11822 goto is_a_corner;
11823 else
11824 if (p[offset13] > cb)
11825 goto is_a_corner;
11826 else
11827 goto is_not_a_corner;
11828 else
11829 if (p[offset10] > cb)
11830 if (p[offset11] > cb)
11831 if (p[offset12] > cb)
11832 if (p[offset13] > cb)
11833 goto is_a_corner;
11834 else
11835 goto is_not_a_corner;
11836 else
11837 goto is_not_a_corner;
11838 else
11839 goto is_not_a_corner;
11840 else
11841 goto is_not_a_corner;
11842 else
11843 if (p[offset8] > cb)
11844 if (p[offset9] > cb)
11845 if (p[offset10] > cb)
11846 if (p[offset11] > cb)
11847 if (p[offset12] > cb)
11848 if (p[offset13] > cb)
11849 goto is_a_corner;
11850 else
11851 goto is_not_a_corner;
11852 else
11853 goto is_not_a_corner;
11854 else
11855 goto is_not_a_corner;
11856 else
11857 goto is_not_a_corner;
11858 else
11859 goto is_not_a_corner;
11860 else
11861 goto is_not_a_corner;
11862 else
11863 goto is_not_a_corner;
11864 else
11865 goto is_not_a_corner;
11866 else if (p[offset5] < c_b)
11867 if (p[offset12] > cb)
11868 if (p[offset13] > cb)
11869 if (p[offset14] > cb)
11870 if (p[offset15] > cb)
11871 if (p[offset1] > cb)
11872 if (p[offset3] > cb)
11873 goto is_a_corner;
11874 else
11875 if (p[offset10] > cb)
11876 if (p[offset11] > cb)
11877 goto is_a_corner;
11878 else
11879 goto is_not_a_corner;
11880 else
11881 goto is_not_a_corner;
11882 else
11883 if (p[offset8] > cb)
11884 if (p[offset9] > cb)
11885 if (p[offset10] > cb)
11886 if (p[offset11] > cb)
11887 goto is_a_corner;
11888 else
11889 goto is_not_a_corner;
11890 else
11891 goto is_not_a_corner;
11892 else
11893 goto is_not_a_corner;
11894 else
11895 goto is_not_a_corner;
11896 else
11897 if (p[offset6] > cb)
11898 if (p[offset7] > cb)
11899 if (p[offset8] > cb)
11900 if (p[offset9] > cb)
11901 if (p[offset10] > cb)
11902 if (p[offset11] > cb)
11903 goto is_a_corner;
11904 else
11905 goto is_not_a_corner;
11906 else
11907 goto is_not_a_corner;
11908 else
11909 goto is_not_a_corner;
11910 else
11911 goto is_not_a_corner;
11912 else
11913 goto is_not_a_corner;
11914 else
11915 goto is_not_a_corner;
11916 else
11917 goto is_not_a_corner;
11918 else
11919 goto is_not_a_corner;
11920 else if (p[offset12] < c_b)
11921 if (p[offset7] < c_b)
11922 if (p[offset8] < c_b)
11923 if (p[offset9] < c_b)
11924 if (p[offset10] < c_b)
11925 if (p[offset11] < c_b)
11926 if (p[offset13] < c_b)
11927 if (p[offset6] < c_b)
11928 goto is_a_corner;
11929 else
11930 if (p[offset14] < c_b)
11931 if (p[offset15] < c_b)
11932 goto is_a_corner;
11933 else
11934 goto is_not_a_corner;
11935 else
11936 goto is_not_a_corner;
11937 else
11938 goto is_not_a_corner;
11939 else
11940 goto is_not_a_corner;
11941 else
11942 goto is_not_a_corner;
11943 else
11944 goto is_not_a_corner;
11945 else
11946 goto is_not_a_corner;
11947 else
11948 goto is_not_a_corner;
11949 else
11950 goto is_not_a_corner;
11951 else
11952 if (p[offset12] > cb)
11953 if (p[offset13] > cb)
11954 if (p[offset14] > cb)
11955 if (p[offset15] > cb)
11956 if (p[offset1] > cb)
11957 if (p[offset3] > cb)
11958 goto is_a_corner;
11959 else
11960 if (p[offset10] > cb)
11961 if (p[offset11] > cb)
11962 goto is_a_corner;
11963 else
11964 goto is_not_a_corner;
11965 else
11966 goto is_not_a_corner;
11967 else
11968 if (p[offset8] > cb)
11969 if (p[offset9] > cb)
11970 if (p[offset10] > cb)
11971 if (p[offset11] > cb)
11972 goto is_a_corner;
11973 else
11974 goto is_not_a_corner;
11975 else
11976 goto is_not_a_corner;
11977 else
11978 goto is_not_a_corner;
11979 else
11980 goto is_not_a_corner;
11981 else
11982 if (p[offset6] > cb)
11983 if (p[offset7] > cb)
11984 if (p[offset8] > cb)
11985 if (p[offset9] > cb)
11986 if (p[offset10] > cb)
11987 if (p[offset11] > cb)
11988 goto is_a_corner;
11989 else
11990 goto is_not_a_corner;
11991 else
11992 goto is_not_a_corner;
11993 else
11994 goto is_not_a_corner;
11995 else
11996 goto is_not_a_corner;
11997 else
11998 goto is_not_a_corner;
11999 else
12000 goto is_not_a_corner;
12001 else
12002 goto is_not_a_corner;
12003 else
12004 goto is_not_a_corner;
12005 else if (p[offset12] < c_b)
12006 if (p[offset7] < c_b)
12007 if (p[offset8] < c_b)
12008 if (p[offset9] < c_b)
12009 if (p[offset10] < c_b)
12010 if (p[offset11] < c_b)
12011 if (p[offset13] < c_b)
12012 if (p[offset14] < c_b)
12013 if (p[offset6] < c_b)
12014 goto is_a_corner;
12015 else
12016 if (p[offset15] < c_b)
12017 goto is_a_corner;
12018 else
12019 goto is_not_a_corner;
12020 else
12021 goto is_not_a_corner;
12022 else
12023 goto is_not_a_corner;
12024 else
12025 goto is_not_a_corner;
12026 else
12027 goto is_not_a_corner;
12028 else
12029 goto is_not_a_corner;
12030 else
12031 goto is_not_a_corner;
12032 else
12033 goto is_not_a_corner;
12034 else
12035 goto is_not_a_corner;
12036 else if (p[offset4] < c_b)
12037 if (p[offset11] > cb)
12038 if (p[offset12] > cb)
12039 if (p[offset13] > cb)
12040 if (p[offset10] > cb)
12041 if (p[offset14] > cb)
12042 if (p[offset15] > cb)
12043 if (p[offset1] > cb)
12044 goto is_a_corner;
12045 else
12046 if (p[offset8] > cb)
12047 if (p[offset9] > cb)
12048 goto is_a_corner;
12049 else
12050 goto is_not_a_corner;
12051 else
12052 goto is_not_a_corner;
12053 else
12054 if (p[offset6] > cb)
12055 if (p[offset7] > cb)
12056 if (p[offset8] > cb)
12057 if (p[offset9] > cb)
12058 goto is_a_corner;
12059 else
12060 goto is_not_a_corner;
12061 else
12062 goto is_not_a_corner;
12063 else
12064 goto is_not_a_corner;
12065 else
12066 goto is_not_a_corner;
12067 else
12068 if (p[offset5] > cb)
12069 if (p[offset6] > cb)
12070 if (p[offset7] > cb)
12071 if (p[offset8] > cb)
12072 if (p[offset9] > cb)
12073 goto is_a_corner;
12074 else
12075 goto is_not_a_corner;
12076 else
12077 goto is_not_a_corner;
12078 else
12079 goto is_not_a_corner;
12080 else
12081 goto is_not_a_corner;
12082 else
12083 goto is_not_a_corner;
12084 else
12085 if (p[offset1] > cb)
12086 if (p[offset3] > cb)
12087 if (p[offset14] > cb)
12088 if (p[offset15] > cb)
12089 goto is_a_corner;
12090 else
12091 goto is_not_a_corner;
12092 else
12093 goto is_not_a_corner;
12094 else
12095 goto is_not_a_corner;
12096 else
12097 goto is_not_a_corner;
12098 else
12099 goto is_not_a_corner;
12100 else
12101 goto is_not_a_corner;
12102 else if (p[offset11] < c_b)
12103 if (p[offset7] < c_b)
12104 if (p[offset8] < c_b)
12105 if (p[offset9] < c_b)
12106 if (p[offset10] < c_b)
12107 if (p[offset6] < c_b)
12108 if (p[offset5] < c_b)
12109 if (p[offset3] < c_b)
12110 goto is_a_corner;
12111 else
12112 if (p[offset12] < c_b)
12113 goto is_a_corner;
12114 else
12115 goto is_not_a_corner;
12116 else
12117 if (p[offset12] < c_b)
12118 if (p[offset13] < c_b)
12119 if (p[offset14] < c_b)
12120 goto is_a_corner;
12121 else
12122 goto is_not_a_corner;
12123 else
12124 goto is_not_a_corner;
12125 else
12126 goto is_not_a_corner;
12127 else
12128 if (p[offset12] < c_b)
12129 if (p[offset13] < c_b)
12130 if (p[offset14] < c_b)
12131 if (p[offset15] < c_b)
12132 goto is_a_corner;
12133 else
12134 goto is_not_a_corner;
12135 else
12136 goto is_not_a_corner;
12137 else
12138 goto is_not_a_corner;
12139 else
12140 goto is_not_a_corner;
12141 else
12142 goto is_not_a_corner;
12143 else
12144 goto is_not_a_corner;
12145 else
12146 goto is_not_a_corner;
12147 else
12148 goto is_not_a_corner;
12149 else
12150 goto is_not_a_corner;
12151 else
12152 if (p[offset11] > cb)
12153 if (p[offset12] > cb)
12154 if (p[offset13] > cb)
12155 if (p[offset10] > cb)
12156 if (p[offset14] > cb)
12157 if (p[offset15] > cb)
12158 if (p[offset1] > cb)
12159 goto is_a_corner;
12160 else
12161 if (p[offset8] > cb)
12162 if (p[offset9] > cb)
12163 goto is_a_corner;
12164 else
12165 goto is_not_a_corner;
12166 else
12167 goto is_not_a_corner;
12168 else
12169 if (p[offset6] > cb)
12170 if (p[offset7] > cb)
12171 if (p[offset8] > cb)
12172 if (p[offset9] > cb)
12173 goto is_a_corner;
12174 else
12175 goto is_not_a_corner;
12176 else
12177 goto is_not_a_corner;
12178 else
12179 goto is_not_a_corner;
12180 else
12181 goto is_not_a_corner;
12182 else
12183 if (p[offset5] > cb)
12184 if (p[offset6] > cb)
12185 if (p[offset7] > cb)
12186 if (p[offset8] > cb)
12187 if (p[offset9] > cb)
12188 goto is_a_corner;
12189 else
12190 goto is_not_a_corner;
12191 else
12192 goto is_not_a_corner;
12193 else
12194 goto is_not_a_corner;
12195 else
12196 goto is_not_a_corner;
12197 else
12198 goto is_not_a_corner;
12199 else
12200 if (p[offset1] > cb)
12201 if (p[offset3] > cb)
12202 if (p[offset14] > cb)
12203 if (p[offset15] > cb)
12204 goto is_a_corner;
12205 else
12206 goto is_not_a_corner;
12207 else
12208 goto is_not_a_corner;
12209 else
12210 goto is_not_a_corner;
12211 else
12212 goto is_not_a_corner;
12213 else
12214 goto is_not_a_corner;
12215 else
12216 goto is_not_a_corner;
12217 else if (p[offset11] < c_b)
12218 if (p[offset7] < c_b)
12219 if (p[offset8] < c_b)
12220 if (p[offset9] < c_b)
12221 if (p[offset10] < c_b)
12222 if (p[offset12] < c_b)
12223 if (p[offset13] < c_b)
12224 if (p[offset6] < c_b)
12225 if (p[offset5] < c_b)
12226 goto is_a_corner;
12227 else
12228 if (p[offset14] < c_b)
12229 goto is_a_corner;
12230 else
12231 goto is_not_a_corner;
12232 else
12233 if (p[offset14] < c_b)
12234 if (p[offset15] < c_b)
12235 goto is_a_corner;
12236 else
12237 goto is_not_a_corner;
12238 else
12239 goto is_not_a_corner;
12240 else
12241 goto is_not_a_corner;
12242 else
12243 goto is_not_a_corner;
12244 else
12245 goto is_not_a_corner;
12246 else
12247 goto is_not_a_corner;
12248 else
12249 goto is_not_a_corner;
12250 else
12251 goto is_not_a_corner;
12252 else
12253 goto is_not_a_corner;
12254 else if (p[offset2] < c_b)
12255 if (p[offset9] > cb)
12256 if (p[offset10] > cb)
12257 if (p[offset11] > cb)
12258 if (p[offset8] > cb)
12259 if (p[offset12] > cb)
12260 if (p[offset13] > cb)
12261 if (p[offset14] > cb)
12262 if (p[offset15] > cb)
12263 goto is_a_corner;
12264 else
12265 if (p[offset6] > cb)
12266 if (p[offset7] > cb)
12267 goto is_a_corner;
12268 else
12269 goto is_not_a_corner;
12270 else
12271 goto is_not_a_corner;
12272 else
12273 if (p[offset5] > cb)
12274 if (p[offset6] > cb)
12275 if (p[offset7] > cb)
12276 goto is_a_corner;
12277 else
12278 goto is_not_a_corner;
12279 else
12280 goto is_not_a_corner;
12281 else
12282 goto is_not_a_corner;
12283 else
12284 if (p[offset4] > cb)
12285 if (p[offset5] > cb)
12286 if (p[offset6] > cb)
12287 if (p[offset7] > cb)
12288 goto is_a_corner;
12289 else
12290 goto is_not_a_corner;
12291 else
12292 goto is_not_a_corner;
12293 else
12294 goto is_not_a_corner;
12295 else
12296 goto is_not_a_corner;
12297 else
12298 if (p[offset3] > cb)
12299 if (p[offset4] > cb)
12300 if (p[offset5] > cb)
12301 if (p[offset6] > cb)
12302 if (p[offset7] > cb)
12303 goto is_a_corner;
12304 else
12305 goto is_not_a_corner;
12306 else
12307 goto is_not_a_corner;
12308 else
12309 goto is_not_a_corner;
12310 else
12311 goto is_not_a_corner;
12312 else
12313 goto is_not_a_corner;
12314 else
12315 if (p[offset1] > cb)
12316 if (p[offset12] > cb)
12317 if (p[offset13] > cb)
12318 if (p[offset14] > cb)
12319 if (p[offset15] > cb)
12320 goto is_a_corner;
12321 else
12322 goto is_not_a_corner;
12323 else
12324 goto is_not_a_corner;
12325 else
12326 goto is_not_a_corner;
12327 else
12328 goto is_not_a_corner;
12329 else
12330 goto is_not_a_corner;
12331 else
12332 goto is_not_a_corner;
12333 else
12334 goto is_not_a_corner;
12335 else if (p[offset9] < c_b)
12336 if (p[offset7] < c_b)
12337 if (p[offset8] < c_b)
12338 if (p[offset6] < c_b)
12339 if (p[offset5] < c_b)
12340 if (p[offset4] < c_b)
12341 if (p[offset3] < c_b)
12342 if (p[offset1] < c_b)
12343 goto is_a_corner;
12344 else
12345 if (p[offset10] < c_b)
12346 goto is_a_corner;
12347 else
12348 goto is_not_a_corner;
12349 else
12350 if (p[offset10] < c_b)
12351 if (p[offset11] < c_b)
12352 if (p[offset12] < c_b)
12353 goto is_a_corner;
12354 else
12355 goto is_not_a_corner;
12356 else
12357 goto is_not_a_corner;
12358 else
12359 goto is_not_a_corner;
12360 else
12361 if (p[offset10] < c_b)
12362 if (p[offset11] < c_b)
12363 if (p[offset12] < c_b)
12364 if (p[offset13] < c_b)
12365 goto is_a_corner;
12366 else
12367 goto is_not_a_corner;
12368 else
12369 goto is_not_a_corner;
12370 else
12371 goto is_not_a_corner;
12372 else
12373 goto is_not_a_corner;
12374 else
12375 if (p[offset10] < c_b)
12376 if (p[offset11] < c_b)
12377 if (p[offset12] < c_b)
12378 if (p[offset13] < c_b)
12379 if (p[offset14] < c_b)
12380 goto is_a_corner;
12381 else
12382 goto is_not_a_corner;
12383 else
12384 goto is_not_a_corner;
12385 else
12386 goto is_not_a_corner;
12387 else
12388 goto is_not_a_corner;
12389 else
12390 goto is_not_a_corner;
12391 else
12392 if (p[offset10] < c_b)
12393 if (p[offset11] < c_b)
12394 if (p[offset12] < c_b)
12395 if (p[offset13] < c_b)
12396 if (p[offset14] < c_b)
12397 if (p[offset15] < c_b)
12398 goto is_a_corner;
12399 else
12400 goto is_not_a_corner;
12401 else
12402 goto is_not_a_corner;
12403 else
12404 goto is_not_a_corner;
12405 else
12406 goto is_not_a_corner;
12407 else
12408 goto is_not_a_corner;
12409 else
12410 goto is_not_a_corner;
12411 else
12412 goto is_not_a_corner;
12413 else
12414 goto is_not_a_corner;
12415 else
12416 goto is_not_a_corner;
12417 else
12418 if (p[offset9] > cb)
12419 if (p[offset10] > cb)
12420 if (p[offset11] > cb)
12421 if (p[offset8] > cb)
12422 if (p[offset12] > cb)
12423 if (p[offset13] > cb)
12424 if (p[offset14] > cb)
12425 if (p[offset15] > cb)
12426 goto is_a_corner;
12427 else
12428 if (p[offset6] > cb)
12429 if (p[offset7] > cb)
12430 goto is_a_corner;
12431 else
12432 goto is_not_a_corner;
12433 else
12434 goto is_not_a_corner;
12435 else
12436 if (p[offset5] > cb)
12437 if (p[offset6] > cb)
12438 if (p[offset7] > cb)
12439 goto is_a_corner;
12440 else
12441 goto is_not_a_corner;
12442 else
12443 goto is_not_a_corner;
12444 else
12445 goto is_not_a_corner;
12446 else
12447 if (p[offset4] > cb)
12448 if (p[offset5] > cb)
12449 if (p[offset6] > cb)
12450 if (p[offset7] > cb)
12451 goto is_a_corner;
12452 else
12453 goto is_not_a_corner;
12454 else
12455 goto is_not_a_corner;
12456 else
12457 goto is_not_a_corner;
12458 else
12459 goto is_not_a_corner;
12460 else
12461 if (p[offset3] > cb)
12462 if (p[offset4] > cb)
12463 if (p[offset5] > cb)
12464 if (p[offset6] > cb)
12465 if (p[offset7] > cb)
12466 goto is_a_corner;
12467 else
12468 goto is_not_a_corner;
12469 else
12470 goto is_not_a_corner;
12471 else
12472 goto is_not_a_corner;
12473 else
12474 goto is_not_a_corner;
12475 else
12476 goto is_not_a_corner;
12477 else
12478 if (p[offset1] > cb)
12479 if (p[offset12] > cb)
12480 if (p[offset13] > cb)
12481 if (p[offset14] > cb)
12482 if (p[offset15] > cb)
12483 goto is_a_corner;
12484 else
12485 goto is_not_a_corner;
12486 else
12487 goto is_not_a_corner;
12488 else
12489 goto is_not_a_corner;
12490 else
12491 goto is_not_a_corner;
12492 else
12493 goto is_not_a_corner;
12494 else
12495 goto is_not_a_corner;
12496 else
12497 goto is_not_a_corner;
12498 else if (p[offset9] < c_b)
12499 if (p[offset7] < c_b)
12500 if (p[offset8] < c_b)
12501 if (p[offset10] < c_b)
12502 if (p[offset11] < c_b)
12503 if (p[offset6] < c_b)
12504 if (p[offset5] < c_b)
12505 if (p[offset4] < c_b)
12506 if (p[offset3] < c_b)
12507 goto is_a_corner;
12508 else
12509 if (p[offset12] < c_b)
12510 goto is_a_corner;
12511 else
12512 goto is_not_a_corner;
12513 else
12514 if (p[offset12] < c_b)
12515 if (p[offset13] < c_b)
12516 goto is_a_corner;
12517 else
12518 goto is_not_a_corner;
12519 else
12520 goto is_not_a_corner;
12521 else
12522 if (p[offset12] < c_b)
12523 if (p[offset13] < c_b)
12524 if (p[offset14] < c_b)
12525 goto is_a_corner;
12526 else
12527 goto is_not_a_corner;
12528 else
12529 goto is_not_a_corner;
12530 else
12531 goto is_not_a_corner;
12532 else
12533 if (p[offset12] < c_b)
12534 if (p[offset13] < c_b)
12535 if (p[offset14] < c_b)
12536 if (p[offset15] < c_b)
12537 goto is_a_corner;
12538 else
12539 goto is_not_a_corner;
12540 else
12541 goto is_not_a_corner;
12542 else
12543 goto is_not_a_corner;
12544 else
12545 goto is_not_a_corner;
12546 else
12547 goto is_not_a_corner;
12548 else
12549 goto is_not_a_corner;
12550 else
12551 goto is_not_a_corner;
12552 else
12553 goto is_not_a_corner;
12554 else
12555 goto is_not_a_corner;
12556 else if (p[offset0] < c_b)
12557 if (p[offset2] > cb)
12558 if (p[offset9] > cb)
12559 if (p[offset7] > cb)
12560 if (p[offset8] > cb)
12561 if (p[offset6] > cb)
12562 if (p[offset5] > cb)
12563 if (p[offset4] > cb)
12564 if (p[offset3] > cb)
12565 if (p[offset1] > cb)
12566 goto is_a_corner;
12567 else
12568 if (p[offset10] > cb)
12569 goto is_a_corner;
12570 else
12571 goto is_not_a_corner;
12572 else
12573 if (p[offset10] > cb)
12574 if (p[offset11] > cb)
12575 if (p[offset12] > cb)
12576 goto is_a_corner;
12577 else
12578 goto is_not_a_corner;
12579 else
12580 goto is_not_a_corner;
12581 else
12582 goto is_not_a_corner;
12583 else
12584 if (p[offset10] > cb)
12585 if (p[offset11] > cb)
12586 if (p[offset12] > cb)
12587 if (p[offset13] > cb)
12588 goto is_a_corner;
12589 else
12590 goto is_not_a_corner;
12591 else
12592 goto is_not_a_corner;
12593 else
12594 goto is_not_a_corner;
12595 else
12596 goto is_not_a_corner;
12597 else
12598 if (p[offset10] > cb)
12599 if (p[offset11] > cb)
12600 if (p[offset12] > cb)
12601 if (p[offset13] > cb)
12602 if (p[offset14] > cb)
12603 goto is_a_corner;
12604 else
12605 goto is_not_a_corner;
12606 else
12607 goto is_not_a_corner;
12608 else
12609 goto is_not_a_corner;
12610 else
12611 goto is_not_a_corner;
12612 else
12613 goto is_not_a_corner;
12614 else
12615 if (p[offset10] > cb)
12616 if (p[offset11] > cb)
12617 if (p[offset12] > cb)
12618 if (p[offset13] > cb)
12619 if (p[offset14] > cb)
12620 if (p[offset15] > cb)
12621 goto is_a_corner;
12622 else
12623 goto is_not_a_corner;
12624 else
12625 goto is_not_a_corner;
12626 else
12627 goto is_not_a_corner;
12628 else
12629 goto is_not_a_corner;
12630 else
12631 goto is_not_a_corner;
12632 else
12633 goto is_not_a_corner;
12634 else
12635 goto is_not_a_corner;
12636 else
12637 goto is_not_a_corner;
12638 else if (p[offset9] < c_b)
12639 if (p[offset10] < c_b)
12640 if (p[offset11] < c_b)
12641 if (p[offset8] < c_b)
12642 if (p[offset12] < c_b)
12643 if (p[offset13] < c_b)
12644 if (p[offset14] < c_b)
12645 if (p[offset15] < c_b)
12646 goto is_a_corner;
12647 else
12648 if (p[offset6] < c_b)
12649 if (p[offset7] < c_b)
12650 goto is_a_corner;
12651 else
12652 goto is_not_a_corner;
12653 else
12654 goto is_not_a_corner;
12655 else
12656 if (p[offset5] < c_b)
12657 if (p[offset6] < c_b)
12658 if (p[offset7] < c_b)
12659 goto is_a_corner;
12660 else
12661 goto is_not_a_corner;
12662 else
12663 goto is_not_a_corner;
12664 else
12665 goto is_not_a_corner;
12666 else
12667 if (p[offset4] < c_b)
12668 if (p[offset5] < c_b)
12669 if (p[offset6] < c_b)
12670 if (p[offset7] < c_b)
12671 goto is_a_corner;
12672 else
12673 goto is_not_a_corner;
12674 else
12675 goto is_not_a_corner;
12676 else
12677 goto is_not_a_corner;
12678 else
12679 goto is_not_a_corner;
12680 else
12681 if (p[offset3] < c_b)
12682 if (p[offset4] < c_b)
12683 if (p[offset5] < c_b)
12684 if (p[offset6] < c_b)
12685 if (p[offset7] < c_b)
12686 goto is_a_corner;
12687 else
12688 goto is_not_a_corner;
12689 else
12690 goto is_not_a_corner;
12691 else
12692 goto is_not_a_corner;
12693 else
12694 goto is_not_a_corner;
12695 else
12696 goto is_not_a_corner;
12697 else
12698 if (p[offset1] < c_b)
12699 if (p[offset12] < c_b)
12700 if (p[offset13] < c_b)
12701 if (p[offset14] < c_b)
12702 if (p[offset15] < c_b)
12703 goto is_a_corner;
12704 else
12705 goto is_not_a_corner;
12706 else
12707 goto is_not_a_corner;
12708 else
12709 goto is_not_a_corner;
12710 else
12711 goto is_not_a_corner;
12712 else
12713 goto is_not_a_corner;
12714 else
12715 goto is_not_a_corner;
12716 else
12717 goto is_not_a_corner;
12718 else
12719 goto is_not_a_corner;
12720 else if (p[offset2] < c_b)
12721 if (p[offset4] > cb)
12722 if (p[offset11] > cb)
12723 if (p[offset7] > cb)
12724 if (p[offset8] > cb)
12725 if (p[offset9] > cb)
12726 if (p[offset10] > cb)
12727 if (p[offset6] > cb)
12728 if (p[offset5] > cb)
12729 if (p[offset3] > cb)
12730 goto is_a_corner;
12731 else
12732 if (p[offset12] > cb)
12733 goto is_a_corner;
12734 else
12735 goto is_not_a_corner;
12736 else
12737 if (p[offset12] > cb)
12738 if (p[offset13] > cb)
12739 if (p[offset14] > cb)
12740 goto is_a_corner;
12741 else
12742 goto is_not_a_corner;
12743 else
12744 goto is_not_a_corner;
12745 else
12746 goto is_not_a_corner;
12747 else
12748 if (p[offset12] > cb)
12749 if (p[offset13] > cb)
12750 if (p[offset14] > cb)
12751 if (p[offset15] > cb)
12752 goto is_a_corner;
12753 else
12754 goto is_not_a_corner;
12755 else
12756 goto is_not_a_corner;
12757 else
12758 goto is_not_a_corner;
12759 else
12760 goto is_not_a_corner;
12761 else
12762 goto is_not_a_corner;
12763 else
12764 goto is_not_a_corner;
12765 else
12766 goto is_not_a_corner;
12767 else
12768 goto is_not_a_corner;
12769 else if (p[offset11] < c_b)
12770 if (p[offset12] < c_b)
12771 if (p[offset13] < c_b)
12772 if (p[offset10] < c_b)
12773 if (p[offset14] < c_b)
12774 if (p[offset15] < c_b)
12775 if (p[offset1] < c_b)
12776 goto is_a_corner;
12777 else
12778 if (p[offset8] < c_b)
12779 if (p[offset9] < c_b)
12780 goto is_a_corner;
12781 else
12782 goto is_not_a_corner;
12783 else
12784 goto is_not_a_corner;
12785 else
12786 if (p[offset6] < c_b)
12787 if (p[offset7] < c_b)
12788 if (p[offset8] < c_b)
12789 if (p[offset9] < c_b)
12790 goto is_a_corner;
12791 else
12792 goto is_not_a_corner;
12793 else
12794 goto is_not_a_corner;
12795 else
12796 goto is_not_a_corner;
12797 else
12798 goto is_not_a_corner;
12799 else
12800 if (p[offset5] < c_b)
12801 if (p[offset6] < c_b)
12802 if (p[offset7] < c_b)
12803 if (p[offset8] < c_b)
12804 if (p[offset9] < c_b)
12805 goto is_a_corner;
12806 else
12807 goto is_not_a_corner;
12808 else
12809 goto is_not_a_corner;
12810 else
12811 goto is_not_a_corner;
12812 else
12813 goto is_not_a_corner;
12814 else
12815 goto is_not_a_corner;
12816 else
12817 if (p[offset1] < c_b)
12818 if (p[offset3] < c_b)
12819 if (p[offset14] < c_b)
12820 if (p[offset15] < c_b)
12821 goto is_a_corner;
12822 else
12823 goto is_not_a_corner;
12824 else
12825 goto is_not_a_corner;
12826 else
12827 goto is_not_a_corner;
12828 else
12829 goto is_not_a_corner;
12830 else
12831 goto is_not_a_corner;
12832 else
12833 goto is_not_a_corner;
12834 else
12835 goto is_not_a_corner;
12836 else if (p[offset4] < c_b)
12837 if (p[offset5] > cb)
12838 if (p[offset12] > cb)
12839 if (p[offset7] > cb)
12840 if (p[offset8] > cb)
12841 if (p[offset9] > cb)
12842 if (p[offset10] > cb)
12843 if (p[offset11] > cb)
12844 if (p[offset13] > cb)
12845 if (p[offset6] > cb)
12846 goto is_a_corner;
12847 else
12848 if (p[offset14] > cb)
12849 if (p[offset15] > cb)
12850 goto is_a_corner;
12851 else
12852 goto is_not_a_corner;
12853 else
12854 goto is_not_a_corner;
12855 else
12856 goto is_not_a_corner;
12857 else
12858 goto is_not_a_corner;
12859 else
12860 goto is_not_a_corner;
12861 else
12862 goto is_not_a_corner;
12863 else
12864 goto is_not_a_corner;
12865 else
12866 goto is_not_a_corner;
12867 else if (p[offset12] < c_b)
12868 if (p[offset13] < c_b)
12869 if (p[offset14] < c_b)
12870 if (p[offset15] < c_b)
12871 if (p[offset1] < c_b)
12872 if (p[offset3] < c_b)
12873 goto is_a_corner;
12874 else
12875 if (p[offset10] < c_b)
12876 if (p[offset11] < c_b)
12877 goto is_a_corner;
12878 else
12879 goto is_not_a_corner;
12880 else
12881 goto is_not_a_corner;
12882 else
12883 if (p[offset8] < c_b)
12884 if (p[offset9] < c_b)
12885 if (p[offset10] < c_b)
12886 if (p[offset11] < c_b)
12887 goto is_a_corner;
12888 else
12889 goto is_not_a_corner;
12890 else
12891 goto is_not_a_corner;
12892 else
12893 goto is_not_a_corner;
12894 else
12895 goto is_not_a_corner;
12896 else
12897 if (p[offset6] < c_b)
12898 if (p[offset7] < c_b)
12899 if (p[offset8] < c_b)
12900 if (p[offset9] < c_b)
12901 if (p[offset10] < c_b)
12902 if (p[offset11] < c_b)
12903 goto is_a_corner;
12904 else
12905 goto is_not_a_corner;
12906 else
12907 goto is_not_a_corner;
12908 else
12909 goto is_not_a_corner;
12910 else
12911 goto is_not_a_corner;
12912 else
12913 goto is_not_a_corner;
12914 else
12915 goto is_not_a_corner;
12916 else
12917 goto is_not_a_corner;
12918 else
12919 goto is_not_a_corner;
12920 else
12921 goto is_not_a_corner;
12922 else if (p[offset5] < c_b)
12923 if (p[offset7] > cb)
12924 if (p[offset14] > cb)
12925 if (p[offset8] > cb)
12926 if (p[offset9] > cb)
12927 if (p[offset10] > cb)
12928 if (p[offset11] > cb)
12929 if (p[offset12] > cb)
12930 if (p[offset13] > cb)
12931 if (p[offset6] > cb)
12932 goto is_a_corner;
12933 else
12934 if (p[offset15] > cb)
12935 goto is_a_corner;
12936 else
12937 goto is_not_a_corner;
12938 else
12939 goto is_not_a_corner;
12940 else
12941 goto is_not_a_corner;
12942 else
12943 goto is_not_a_corner;
12944 else
12945 goto is_not_a_corner;
12946 else
12947 goto is_not_a_corner;
12948 else
12949 goto is_not_a_corner;
12950 else if (p[offset14] < c_b)
12951 if (p[offset15] < c_b)
12952 if (p[offset1] < c_b)
12953 if (p[offset3] < c_b)
12954 if (p[offset6] < c_b)
12955 goto is_a_corner;
12956 else
12957 if (p[offset13] < c_b)
12958 goto is_a_corner;
12959 else
12960 goto is_not_a_corner;
12961 else
12962 if (p[offset10] < c_b)
12963 if (p[offset11] < c_b)
12964 if (p[offset12] < c_b)
12965 if (p[offset13] < c_b)
12966 goto is_a_corner;
12967 else
12968 goto is_not_a_corner;
12969 else
12970 goto is_not_a_corner;
12971 else
12972 goto is_not_a_corner;
12973 else
12974 goto is_not_a_corner;
12975 else
12976 if (p[offset8] < c_b)
12977 if (p[offset9] < c_b)
12978 if (p[offset10] < c_b)
12979 if (p[offset11] < c_b)
12980 if (p[offset12] < c_b)
12981 if (p[offset13] < c_b)
12982 goto is_a_corner;
12983 else
12984 goto is_not_a_corner;
12985 else
12986 goto is_not_a_corner;
12987 else
12988 goto is_not_a_corner;
12989 else
12990 goto is_not_a_corner;
12991 else
12992 goto is_not_a_corner;
12993 else
12994 goto is_not_a_corner;
12995 else
12996 goto is_not_a_corner;
12997 else
12998 goto is_not_a_corner;
12999 else if (p[offset7] < c_b)
13000 if (p[offset3] < c_b)
13001 if (p[offset1] < c_b)
13002 if (p[offset6] < c_b)
13003 if (p[offset8] < c_b)
13004 goto is_a_corner;
13005 else
13006 if (p[offset15] < c_b)
13007 goto is_a_corner;
13008 else
13009 goto is_not_a_corner;
13010 else
13011 if (p[offset13] < c_b)
13012 if (p[offset14] < c_b)
13013 if (p[offset15] < c_b)
13014 goto is_a_corner;
13015 else
13016 goto is_not_a_corner;
13017 else
13018 goto is_not_a_corner;
13019 else
13020 goto is_not_a_corner;
13021 else
13022 if (p[offset8] < c_b)
13023 if (p[offset9] < c_b)
13024 if (p[offset10] < c_b)
13025 if (p[offset6] < c_b)
13026 goto is_a_corner;
13027 else
13028 if (p[offset11] < c_b)
13029 if (p[offset12] < c_b)
13030 if (p[offset13] < c_b)
13031 if (p[offset14] < c_b)
13032 if (p[offset15] < c_b)
13033 goto is_a_corner;
13034 else
13035 goto is_not_a_corner;
13036 else
13037 goto is_not_a_corner;
13038 else
13039 goto is_not_a_corner;
13040 else
13041 goto is_not_a_corner;
13042 else
13043 goto is_not_a_corner;
13044 else
13045 goto is_not_a_corner;
13046 else
13047 goto is_not_a_corner;
13048 else
13049 goto is_not_a_corner;
13050 else
13051 if (p[offset10] < c_b)
13052 if (p[offset11] < c_b)
13053 if (p[offset12] < c_b)
13054 if (p[offset8] < c_b)
13055 if (p[offset9] < c_b)
13056 if (p[offset6] < c_b)
13057 goto is_a_corner;
13058 else
13059 if (p[offset13] < c_b)
13060 if (p[offset14] < c_b)
13061 if (p[offset15] < c_b)
13062 goto is_a_corner;
13063 else
13064 goto is_not_a_corner;
13065 else
13066 goto is_not_a_corner;
13067 else
13068 goto is_not_a_corner;
13069 else
13070 if (p[offset1] < c_b)
13071 if (p[offset13] < c_b)
13072 if (p[offset14] < c_b)
13073 if (p[offset15] < c_b)
13074 goto is_a_corner;
13075 else
13076 goto is_not_a_corner;
13077 else
13078 goto is_not_a_corner;
13079 else
13080 goto is_not_a_corner;
13081 else
13082 goto is_not_a_corner;
13083 else
13084 if (p[offset1] < c_b)
13085 if (p[offset13] < c_b)
13086 if (p[offset14] < c_b)
13087 if (p[offset15] < c_b)
13088 goto is_a_corner;
13089 else
13090 goto is_not_a_corner;
13091 else
13092 goto is_not_a_corner;
13093 else
13094 goto is_not_a_corner;
13095 else
13096 goto is_not_a_corner;
13097 else
13098 goto is_not_a_corner;
13099 else
13100 goto is_not_a_corner;
13101 else
13102 goto is_not_a_corner;
13103 else
13104 if (p[offset14] < c_b)
13105 if (p[offset15] < c_b)
13106 if (p[offset1] < c_b)
13107 if (p[offset3] < c_b)
13108 if (p[offset6] < c_b)
13109 goto is_a_corner;
13110 else
13111 if (p[offset13] < c_b)
13112 goto is_a_corner;
13113 else
13114 goto is_not_a_corner;
13115 else
13116 if (p[offset10] < c_b)
13117 if (p[offset11] < c_b)
13118 if (p[offset12] < c_b)
13119 if (p[offset13] < c_b)
13120 goto is_a_corner;
13121 else
13122 goto is_not_a_corner;
13123 else
13124 goto is_not_a_corner;
13125 else
13126 goto is_not_a_corner;
13127 else
13128 goto is_not_a_corner;
13129 else
13130 if (p[offset8] < c_b)
13131 if (p[offset9] < c_b)
13132 if (p[offset10] < c_b)
13133 if (p[offset11] < c_b)
13134 if (p[offset12] < c_b)
13135 if (p[offset13] < c_b)
13136 goto is_a_corner;
13137 else
13138 goto is_not_a_corner;
13139 else
13140 goto is_not_a_corner;
13141 else
13142 goto is_not_a_corner;
13143 else
13144 goto is_not_a_corner;
13145 else
13146 goto is_not_a_corner;
13147 else
13148 goto is_not_a_corner;
13149 else
13150 goto is_not_a_corner;
13151 else
13152 goto is_not_a_corner;
13153 else
13154 if (p[offset12] > cb)
13155 if (p[offset7] > cb)
13156 if (p[offset8] > cb)
13157 if (p[offset9] > cb)
13158 if (p[offset10] > cb)
13159 if (p[offset11] > cb)
13160 if (p[offset13] > cb)
13161 if (p[offset14] > cb)
13162 if (p[offset6] > cb)
13163 goto is_a_corner;
13164 else
13165 if (p[offset15] > cb)
13166 goto is_a_corner;
13167 else
13168 goto is_not_a_corner;
13169 else
13170 goto is_not_a_corner;
13171 else
13172 goto is_not_a_corner;
13173 else
13174 goto is_not_a_corner;
13175 else
13176 goto is_not_a_corner;
13177 else
13178 goto is_not_a_corner;
13179 else
13180 goto is_not_a_corner;
13181 else
13182 goto is_not_a_corner;
13183 else if (p[offset12] < c_b)
13184 if (p[offset13] < c_b)
13185 if (p[offset14] < c_b)
13186 if (p[offset15] < c_b)
13187 if (p[offset1] < c_b)
13188 if (p[offset3] < c_b)
13189 goto is_a_corner;
13190 else
13191 if (p[offset10] < c_b)
13192 if (p[offset11] < c_b)
13193 goto is_a_corner;
13194 else
13195 goto is_not_a_corner;
13196 else
13197 goto is_not_a_corner;
13198 else
13199 if (p[offset8] < c_b)
13200 if (p[offset9] < c_b)
13201 if (p[offset10] < c_b)
13202 if (p[offset11] < c_b)
13203 goto is_a_corner;
13204 else
13205 goto is_not_a_corner;
13206 else
13207 goto is_not_a_corner;
13208 else
13209 goto is_not_a_corner;
13210 else
13211 goto is_not_a_corner;
13212 else
13213 if (p[offset6] < c_b)
13214 if (p[offset7] < c_b)
13215 if (p[offset8] < c_b)
13216 if (p[offset9] < c_b)
13217 if (p[offset10] < c_b)
13218 if (p[offset11] < c_b)
13219 goto is_a_corner;
13220 else
13221 goto is_not_a_corner;
13222 else
13223 goto is_not_a_corner;
13224 else
13225 goto is_not_a_corner;
13226 else
13227 goto is_not_a_corner;
13228 else
13229 goto is_not_a_corner;
13230 else
13231 goto is_not_a_corner;
13232 else
13233 goto is_not_a_corner;
13234 else
13235 goto is_not_a_corner;
13236 else
13237 goto is_not_a_corner;
13238 else
13239 if (p[offset11] > cb)
13240 if (p[offset7] > cb)
13241 if (p[offset8] > cb)
13242 if (p[offset9] > cb)
13243 if (p[offset10] > cb)
13244 if (p[offset12] > cb)
13245 if (p[offset13] > cb)
13246 if (p[offset6] > cb)
13247 if (p[offset5] > cb)
13248 goto is_a_corner;
13249 else
13250 if (p[offset14] > cb)
13251 goto is_a_corner;
13252 else
13253 goto is_not_a_corner;
13254 else
13255 if (p[offset14] > cb)
13256 if (p[offset15] > cb)
13257 goto is_a_corner;
13258 else
13259 goto is_not_a_corner;
13260 else
13261 goto is_not_a_corner;
13262 else
13263 goto is_not_a_corner;
13264 else
13265 goto is_not_a_corner;
13266 else
13267 goto is_not_a_corner;
13268 else
13269 goto is_not_a_corner;
13270 else
13271 goto is_not_a_corner;
13272 else
13273 goto is_not_a_corner;
13274 else if (p[offset11] < c_b)
13275 if (p[offset12] < c_b)
13276 if (p[offset13] < c_b)
13277 if (p[offset10] < c_b)
13278 if (p[offset14] < c_b)
13279 if (p[offset15] < c_b)
13280 if (p[offset1] < c_b)
13281 goto is_a_corner;
13282 else
13283 if (p[offset8] < c_b)
13284 if (p[offset9] < c_b)
13285 goto is_a_corner;
13286 else
13287 goto is_not_a_corner;
13288 else
13289 goto is_not_a_corner;
13290 else
13291 if (p[offset6] < c_b)
13292 if (p[offset7] < c_b)
13293 if (p[offset8] < c_b)
13294 if (p[offset9] < c_b)
13295 goto is_a_corner;
13296 else
13297 goto is_not_a_corner;
13298 else
13299 goto is_not_a_corner;
13300 else
13301 goto is_not_a_corner;
13302 else
13303 goto is_not_a_corner;
13304 else
13305 if (p[offset5] < c_b)
13306 if (p[offset6] < c_b)
13307 if (p[offset7] < c_b)
13308 if (p[offset8] < c_b)
13309 if (p[offset9] < c_b)
13310 goto is_a_corner;
13311 else
13312 goto is_not_a_corner;
13313 else
13314 goto is_not_a_corner;
13315 else
13316 goto is_not_a_corner;
13317 else
13318 goto is_not_a_corner;
13319 else
13320 goto is_not_a_corner;
13321 else
13322 if (p[offset1] < c_b)
13323 if (p[offset3] < c_b)
13324 if (p[offset14] < c_b)
13325 if (p[offset15] < c_b)
13326 goto is_a_corner;
13327 else
13328 goto is_not_a_corner;
13329 else
13330 goto is_not_a_corner;
13331 else
13332 goto is_not_a_corner;
13333 else
13334 goto is_not_a_corner;
13335 else
13336 goto is_not_a_corner;
13337 else
13338 goto is_not_a_corner;
13339 else
13340 goto is_not_a_corner;
13341 else
13342 if (p[offset9] > cb)
13343 if (p[offset7] > cb)
13344 if (p[offset8] > cb)
13345 if (p[offset10] > cb)
13346 if (p[offset11] > cb)
13347 if (p[offset6] > cb)
13348 if (p[offset5] > cb)
13349 if (p[offset4] > cb)
13350 if (p[offset3] > cb)
13351 goto is_a_corner;
13352 else
13353 if (p[offset12] > cb)
13354 goto is_a_corner;
13355 else
13356 goto is_not_a_corner;
13357 else
13358 if (p[offset12] > cb)
13359 if (p[offset13] > cb)
13360 goto is_a_corner;
13361 else
13362 goto is_not_a_corner;
13363 else
13364 goto is_not_a_corner;
13365 else
13366 if (p[offset12] > cb)
13367 if (p[offset13] > cb)
13368 if (p[offset14] > cb)
13369 goto is_a_corner;
13370 else
13371 goto is_not_a_corner;
13372 else
13373 goto is_not_a_corner;
13374 else
13375 goto is_not_a_corner;
13376 else
13377 if (p[offset12] > cb)
13378 if (p[offset13] > cb)
13379 if (p[offset14] > cb)
13380 if (p[offset15] > cb)
13381 goto is_a_corner;
13382 else
13383 goto is_not_a_corner;
13384 else
13385 goto is_not_a_corner;
13386 else
13387 goto is_not_a_corner;
13388 else
13389 goto is_not_a_corner;
13390 else
13391 goto is_not_a_corner;
13392 else
13393 goto is_not_a_corner;
13394 else
13395 goto is_not_a_corner;
13396 else
13397 goto is_not_a_corner;
13398 else if (p[offset9] < c_b)
13399 if (p[offset10] < c_b)
13400 if (p[offset11] < c_b)
13401 if (p[offset8] < c_b)
13402 if (p[offset12] < c_b)
13403 if (p[offset13] < c_b)
13404 if (p[offset14] < c_b)
13405 if (p[offset15] < c_b)
13406 goto is_a_corner;
13407 else
13408 if (p[offset6] < c_b)
13409 if (p[offset7] < c_b)
13410 goto is_a_corner;
13411 else
13412 goto is_not_a_corner;
13413 else
13414 goto is_not_a_corner;
13415 else
13416 if (p[offset5] < c_b)
13417 if (p[offset6] < c_b)
13418 if (p[offset7] < c_b)
13419 goto is_a_corner;
13420 else
13421 goto is_not_a_corner;
13422 else
13423 goto is_not_a_corner;
13424 else
13425 goto is_not_a_corner;
13426 else
13427 if (p[offset4] < c_b)
13428 if (p[offset5] < c_b)
13429 if (p[offset6] < c_b)
13430 if (p[offset7] < c_b)
13431 goto is_a_corner;
13432 else
13433 goto is_not_a_corner;
13434 else
13435 goto is_not_a_corner;
13436 else
13437 goto is_not_a_corner;
13438 else
13439 goto is_not_a_corner;
13440 else
13441 if (p[offset3] < c_b)
13442 if (p[offset4] < c_b)
13443 if (p[offset5] < c_b)
13444 if (p[offset6] < c_b)
13445 if (p[offset7] < c_b)
13446 goto is_a_corner;
13447 else
13448 goto is_not_a_corner;
13449 else
13450 goto is_not_a_corner;
13451 else
13452 goto is_not_a_corner;
13453 else
13454 goto is_not_a_corner;
13455 else
13456 goto is_not_a_corner;
13457 else
13458 if (p[offset1] < c_b)
13459 if (p[offset12] < c_b)
13460 if (p[offset13] < c_b)
13461 if (p[offset14] < c_b)
13462 if (p[offset15] < c_b)
13463 goto is_a_corner;
13464 else
13465 goto is_not_a_corner;
13466 else
13467 goto is_not_a_corner;
13468 else
13469 goto is_not_a_corner;
13470 else
13471 goto is_not_a_corner;
13472 else
13473 goto is_not_a_corner;
13474 else
13475 goto is_not_a_corner;
13476 else
13477 goto is_not_a_corner;
13478 else
13479 goto is_not_a_corner;
13480 else
13481 if (p[offset7] > cb)
13482 if (p[offset8] > cb)
13483 if (p[offset9] > cb)
13484 if (p[offset6] > cb)
13485 if (p[offset5] > cb)
13486 if (p[offset4] > cb)
13487 if (p[offset3] > cb)
13488 if (p[offset2] > cb)
13489 if (p[offset1] > cb)
13490 goto is_a_corner;
13491 else
13492 if (p[offset10] > cb)
13493 goto is_a_corner;
13494 else
13495 goto is_not_a_corner;
13496 else
13497 if (p[offset10] > cb)
13498 if (p[offset11] > cb)
13499 goto is_a_corner;
13500 else
13501 goto is_not_a_corner;
13502 else
13503 goto is_not_a_corner;
13504 else
13505 if (p[offset10] > cb)
13506 if (p[offset11] > cb)
13507 if (p[offset12] > cb)
13508 goto is_a_corner;
13509 else
13510 goto is_not_a_corner;
13511 else
13512 goto is_not_a_corner;
13513 else
13514 goto is_not_a_corner;
13515 else
13516 if (p[offset10] > cb)
13517 if (p[offset11] > cb)
13518 if (p[offset12] > cb)
13519 if (p[offset13] > cb)
13520 goto is_a_corner;
13521 else
13522 goto is_not_a_corner;
13523 else
13524 goto is_not_a_corner;
13525 else
13526 goto is_not_a_corner;
13527 else
13528 goto is_not_a_corner;
13529 else
13530 if (p[offset10] > cb)
13531 if (p[offset11] > cb)
13532 if (p[offset12] > cb)
13533 if (p[offset13] > cb)
13534 if (p[offset14] > cb)
13535 goto is_a_corner;
13536 else
13537 goto is_not_a_corner;
13538 else
13539 goto is_not_a_corner;
13540 else
13541 goto is_not_a_corner;
13542 else
13543 goto is_not_a_corner;
13544 else
13545 goto is_not_a_corner;
13546 else
13547 if (p[offset10] > cb)
13548 if (p[offset11] > cb)
13549 if (p[offset12] > cb)
13550 if (p[offset13] > cb)
13551 if (p[offset14] > cb)
13552 if (p[offset15] > cb)
13553 goto is_a_corner;
13554 else
13555 goto is_not_a_corner;
13556 else
13557 goto is_not_a_corner;
13558 else
13559 goto is_not_a_corner;
13560 else
13561 goto is_not_a_corner;
13562 else
13563 goto is_not_a_corner;
13564 else
13565 goto is_not_a_corner;
13566 else
13567 goto is_not_a_corner;
13568 else
13569 goto is_not_a_corner;
13570 else if (p[offset7] < c_b)
13571 if (p[offset8] < c_b)
13572 if (p[offset9] < c_b)
13573 if (p[offset6] < c_b)
13574 if (p[offset5] < c_b)
13575 if (p[offset4] < c_b)
13576 if (p[offset3] < c_b)
13577 if (p[offset2] < c_b)
13578 if (p[offset1] < c_b)
13579 goto is_a_corner;
13580 else
13581 if (p[offset10] < c_b)
13582 goto is_a_corner;
13583 else
13584 goto is_not_a_corner;
13585 else
13586 if (p[offset10] < c_b)
13587 if (p[offset11] < c_b)
13588 goto is_a_corner;
13589 else
13590 goto is_not_a_corner;
13591 else
13592 goto is_not_a_corner;
13593 else
13594 if (p[offset10] < c_b)
13595 if (p[offset11] < c_b)
13596 if (p[offset12] < c_b)
13597 goto is_a_corner;
13598 else
13599 goto is_not_a_corner;
13600 else
13601 goto is_not_a_corner;
13602 else
13603 goto is_not_a_corner;
13604 else
13605 if (p[offset10] < c_b)
13606 if (p[offset11] < c_b)
13607 if (p[offset12] < c_b)
13608 if (p[offset13] < c_b)
13609 goto is_a_corner;
13610 else
13611 goto is_not_a_corner;
13612 else
13613 goto is_not_a_corner;
13614 else
13615 goto is_not_a_corner;
13616 else
13617 goto is_not_a_corner;
13618 else
13619 if (p[offset10] < c_b)
13620 if (p[offset11] < c_b)
13621 if (p[offset12] < c_b)
13622 if (p[offset13] < c_b)
13623 if (p[offset14] < c_b)
13624 goto is_a_corner;
13625 else
13626 goto is_not_a_corner;
13627 else
13628 goto is_not_a_corner;
13629 else
13630 goto is_not_a_corner;
13631 else
13632 goto is_not_a_corner;
13633 else
13634 goto is_not_a_corner;
13635 else
13636 if (p[offset10] < c_b)
13637 if (p[offset11] < c_b)
13638 if (p[offset12] < c_b)
13639 if (p[offset13] < c_b)
13640 if (p[offset14] < c_b)
13641 if (p[offset15] < c_b)
13642 goto is_a_corner;
13643 else
13644 goto is_not_a_corner;
13645 else
13646 goto is_not_a_corner;
13647 else
13648 goto is_not_a_corner;
13649 else
13650 goto is_not_a_corner;
13651 else
13652 goto is_not_a_corner;
13653 else
13654 goto is_not_a_corner;
13655 else
13656 goto is_not_a_corner;
13657 else
13658 goto is_not_a_corner;
13659 else
13660 goto is_not_a_corner;
13661
13662 is_a_corner:
13663 bmin = T2 (b_test);
13664 goto end;
13665
13666 is_not_a_corner:
13667 bmax = T2 (b_test);
13668 goto end;
13669
13670 end:
13671
13672 if (bmin == bmax - 1 || bmin == bmax)
13673 return (int (bmin));
13674 b_test = int ((bmin + bmax) / 2);
13675 }
13676 }
13677 }
13678 }
13679 }
13680
13684 void
13685 pcl::keypoints::agast::OastDetector9_16::initPattern ()
13686 {
13687 s_offset0_ = static_cast<int_fast16_t> ((-3) + (0) * width_);
13688 s_offset1_ = static_cast<int_fast16_t> ((-3) + (-1) * width_);
13689 s_offset2_ = static_cast<int_fast16_t> ((-2) + (-2) * width_);
13690 s_offset3_ = static_cast<int_fast16_t> ((-1) + (-3) * width_);
13691 s_offset4_ = static_cast<int_fast16_t> ((0) + (-3) * width_);
13692 s_offset5_ = static_cast<int_fast16_t> ((1) + (-3) * width_);
13693 s_offset6_ = static_cast<int_fast16_t> ((2) + (-2) * width_);
13694 s_offset7_ = static_cast<int_fast16_t> ((3) + (-1) * width_);
13695 s_offset8_ = static_cast<int_fast16_t> ((3) + (0) * width_);
13696 s_offset9_ = static_cast<int_fast16_t> ((3) + (1) * width_);
13697 s_offset10_ = static_cast<int_fast16_t> ((2) + (2) * width_);
13698 s_offset11_ = static_cast<int_fast16_t> ((1) + (3) * width_);
13699 s_offset12_ = static_cast<int_fast16_t> ((0) + (3) * width_);
13700 s_offset13_ = static_cast<int_fast16_t> ((-1) + (3) * width_);
13701 s_offset14_ = static_cast<int_fast16_t> ((-2) + (2) * width_);
13702 s_offset15_ = static_cast<int_fast16_t> ((-3) + (1) * width_);
13703 }
13704
13706 void
13707 pcl::keypoints::agast::OastDetector9_16::detect (const unsigned char* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
13708 {
13709 return (pcl::keypoints::agast::OastDetector9_16_detect<unsigned char, int> (
13710 im, int (width_), int (height_), threshold_,
13711 s_offset0_,
13712 s_offset1_,
13713 s_offset2_,
13714 s_offset3_,
13715 s_offset4_,
13716 s_offset5_,
13717 s_offset6_,
13718 s_offset7_,
13719 s_offset8_,
13720 s_offset9_,
13721 s_offset10_,
13722 s_offset11_,
13723 s_offset12_,
13724 s_offset13_,
13725 s_offset14_,
13726 s_offset15_,
13727 corners));
13728 }
13729
13731 void
13732 pcl::keypoints::agast::OastDetector9_16::detect (const float* im, std::vector<pcl::PointUV, Eigen::aligned_allocator<pcl::PointUV> > & corners) const
13733 {
13734 return (pcl::keypoints::agast::OastDetector9_16_detect<float, float> (
13735 im, int (width_), int (height_), threshold_,
13736 s_offset0_,
13737 s_offset1_,
13738 s_offset2_,
13739 s_offset3_,
13740 s_offset4_,
13741 s_offset5_,
13742 s_offset6_,
13743 s_offset7_,
13744 s_offset8_,
13745 s_offset9_,
13746 s_offset10_,
13747 s_offset11_,
13748 s_offset12_,
13749 s_offset13_,
13750 s_offset14_,
13751 s_offset15_,
13752 corners));
13753 }
13754
13756 int
13757 pcl::keypoints::agast::OastDetector9_16::computeCornerScore (const unsigned char* p) const
13758 {
13759 return (pcl::keypoints::agast::OastDetector9_16_computeCornerScore<unsigned char, int> (
13760 p, bmax_, threshold_,
13761 s_offset0_,
13762 s_offset1_,
13763 s_offset2_,
13764 s_offset3_,
13765 s_offset4_,
13766 s_offset5_,
13767 s_offset6_,
13768 s_offset7_,
13769 s_offset8_,
13770 s_offset9_,
13771 s_offset10_,
13772 s_offset11_,
13773 s_offset12_,
13774 s_offset13_,
13775 s_offset14_,
13776 s_offset15_));
13777 }
13778
13780 int
13781 pcl::keypoints::agast::OastDetector9_16::computeCornerScore (const float* p) const
13782 {
13783 return (pcl::keypoints::agast::OastDetector9_16_computeCornerScore<float, float> (
13784 p, bmax_, threshold_,
13785 s_offset0_,
13786 s_offset1_,
13787 s_offset2_,
13788 s_offset3_,
13789 s_offset4_,
13790 s_offset5_,
13791 s_offset6_,
13792 s_offset7_,
13793 s_offset8_,
13794 s_offset9_,
13795 s_offset10_,
13796 s_offset11_,
13797 s_offset12_,
13798 s_offset13_,
13799 s_offset14_,
13800 s_offset15_));
13801 }
13802