|
|
@ -224,8 +224,9 @@ sraSpanListCount(const sraSpanList *list) {
|
|
|
|
void
|
|
|
|
void
|
|
|
|
sraSpanMergePrevious(sraSpan *dest) {
|
|
|
|
sraSpanMergePrevious(sraSpan *dest) {
|
|
|
|
sraSpan *prev = dest->_prev;
|
|
|
|
sraSpan *prev = dest->_prev;
|
|
|
|
while ((prev->end == dest->start) &&
|
|
|
|
|
|
|
|
(prev->_prev) &&
|
|
|
|
while ((prev->_prev) &&
|
|
|
|
|
|
|
|
(prev->end == dest->start) &&
|
|
|
|
(sraSpanListEqual(prev->subspan, dest->subspan))) {
|
|
|
|
(sraSpanListEqual(prev->subspan, dest->subspan))) {
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
printf("merge_prev:");
|
|
|
|
printf("merge_prev:");
|
|
|
@ -244,8 +245,8 @@ sraSpanMergePrevious(sraSpan *dest) {
|
|
|
|
void
|
|
|
|
void
|
|
|
|
sraSpanMergeNext(sraSpan *dest) {
|
|
|
|
sraSpanMergeNext(sraSpan *dest) {
|
|
|
|
sraSpan *next = dest->_next;
|
|
|
|
sraSpan *next = dest->_next;
|
|
|
|
while ((next->start == dest->end) &&
|
|
|
|
while ((next->_next) &&
|
|
|
|
(next->_next) &&
|
|
|
|
(next->start == dest->end) &&
|
|
|
|
(sraSpanListEqual(next->subspan, dest->subspan))) {
|
|
|
|
(sraSpanListEqual(next->subspan, dest->subspan))) {
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
printf("merge_next:");
|
|
|
|
printf("merge_next:");
|
|
|
@ -852,6 +853,10 @@ int main(int argc, char** argv)
|
|
|
|
sraRgnReleaseIterator(i);
|
|
|
|
sraRgnReleaseIterator(i);
|
|
|
|
printf("\n590x100+10+200 250x150+350+50 30x150+10+50 590x10+10+40 600x30+0+10 20x10+0+0 \n\n");
|
|
|
|
printf("\n590x100+10+200 250x150+350+50 30x150+10+50 590x10+10+40 600x30+0+10 20x10+0+0 \n\n");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sraRgnDestroy(region);
|
|
|
|
|
|
|
|
sraRgnDestroy(region1);
|
|
|
|
|
|
|
|
sraRgnDestroy(region2);
|
|
|
|
|
|
|
|
|
|
|
|
return(0);
|
|
|
|
return(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|