| line |
true |
false |
branch |
|
40
|
228 |
6224 |
if (lo == hi) return;
|
|
42
|
2799 |
3425 |
if (hi - lo > 3) {
|
|
43
|
8877 |
2799 |
for ( i = hi-4; i >= lo; i-- ) {
|
|
46
|
9242 |
1908 |
for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
|
|
|
2273 |
6969 |
for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
|
|
52
|
18836 |
6224 |
for ( i = hi-1; i >= lo; i-- ) {
|
|
55
|
25524 |
1658 |
for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
|
|
|
8346 |
17178 |
for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
|
|
109
|
12147 |
1601 |
while (sp > 0) {
|
|
111
|
0 |
12147 |
AssertH ( sp < FALLBACK_QSORT_STACK_SIZE - 1, 1004 );
|
|
114
|
6452 |
5695 |
if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
|
|
128
|
1036 |
4659 |
if (r3 == 0) med = eclass[fmap[lo]]; else
|
|
129
|
2685 |
1974 |
if (r3 == 1) med = eclass[fmap[(lo+hi)>>1]]; else
|
|
137
|
2470 |
1081190 |
if (unLo > unHi) break;
|
|
139
|
972004 |
109186 |
if (n == 0) {
|
|
144
|
22345 |
86841 |
if (n > 0) break;
|
|
148
|
5695 |
96987 |
if (unLo > unHi) break;
|
|
150
|
6793 |
90194 |
if (n == 0) {
|
|
155
|
19120 |
71074 |
if (n < 0) break;
|
|
158
|
5695 |
19120 |
if (unLo > unHi) break;
|
|
164
|
422 |
5273 |
if (gtHi < ltLo) continue;
|
|
166
|
22297 |
5273 |
n = fmin(ltLo-lo, unLo-ltLo); fvswap(lo, unLo-n, n);
|
|
167
|
4794 |
5273 |
m = fmin(hi-gtHi, gtHi-unHi); fvswap(unLo, hi-m+1, m);
|
|
172
|
1976 |
3297 |
if (n - lo > hi - m) {
|
|
231
|
5140 |
20 |
for (i = 0; i < 257; i++) ftab[i] = 0;
|
|
232
|
75395 |
20 |
for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
|
|
233
|
5120 |
20 |
for (i = 0; i < 256; i++) ftabCopy[i] = ftab[i];
|
|
234
|
5120 |
20 |
for (i = 1; i < 257; i++) ftab[i] += ftab[i-1];
|
|
236
|
75395 |
20 |
for (i = 0; i < nblock; i++) {
|
|
244
|
2383 |
20 |
for (i = 0; i < nBhtab; i++) bhtab[i] = 0;
|
|
245
|
5120 |
20 |
for (i = 0; i < 256; i++) SET_BH(ftab[i]);
|
|
254
|
640 |
20 |
for (i = 0; i < 32; i++) {
|
|
267
|
1054633 |
82 |
for (i = 0; i < nblock; i++) {
|
|
268
|
54604 |
1000029 |
if (ISSET_BH(i)) j = i;
|
|
269
|
98418 |
956215 |
k = fmap[i] - H; if (k < 0) k += nblock;
|
|
279
|
7892 |
1248 |
while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
|
|
|
7457 |
435 |
while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
|
|
280
|
435 |
1248 |
if (ISSET_BH(k)) {
|
|
281
|
1327 |
435 |
while (WORD_BH(k) == 0xffffffff) k += 32;
|
|
282
|
4765 |
435 |
while (ISSET_BH(k)) k++;
|
|
285
|
82 |
1601 |
if (l >= nblock) break;
|
|
286
|
18412 |
670 |
while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
|
|
|
17481 |
931 |
while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
|
|
287
|
931 |
670 |
if (!ISSET_BH(k)) {
|
|
288
|
30312 |
931 |
while (WORD_BH(k) == 0x00000000) k += 32;
|
|
289
|
12564 |
931 |
while (!ISSET_BH(k)) k++;
|
|
292
|
0 |
1601 |
if (r >= nblock) break;
|
|
295
|
1601 |
0 |
if (r > l) {
|
|
301
|
1001630 |
1601 |
for (i = l; i <= r; i++) {
|
|
303
|
28218 |
973412 |
if (cc != cc1) { SET_BH(i); cc = cc1; };
|
|
312
|
80 |
2 |
if (H > nblock || nNotDone == 0) break;
|
|
|
62 |
18 |
if (H > nblock || nNotDone == 0) break;
|
|
323
|
75395 |
20 |
for (i = 0; i < nblock; i++) {
|
|
324
|
2550 |
75395 |
while (ftabCopy[j] == 0) j++;
|
|
328
|
0 |
20 |
AssertH ( j < 256, 1005 );
|
|
361
|
8874 |
245 |
if (c1 != c2) return (c1 > c2);
|
|
365
|
44 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
369
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
373
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
377
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
381
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
385
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
389
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
393
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
397
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
401
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
405
|
0 |
201 |
if (c1 != c2) return (c1 > c2);
|
|
413
|
16 |
588781 |
if (c1 != c2) return (c1 > c2);
|
|
415
|
0 |
588781 |
if (s1 != s2) return (s1 > s2);
|
|
419
|
17 |
588764 |
if (c1 != c2) return (c1 > c2);
|
|
421
|
0 |
588764 |
if (s1 != s2) return (s1 > s2);
|
|
425
|
16 |
588748 |
if (c1 != c2) return (c1 > c2);
|
|
427
|
0 |
588748 |
if (s1 != s2) return (s1 > s2);
|
|
431
|
16 |
588732 |
if (c1 != c2) return (c1 > c2);
|
|
433
|
0 |
588732 |
if (s1 != s2) return (s1 > s2);
|
|
437
|
16 |
588716 |
if (c1 != c2) return (c1 > c2);
|
|
439
|
0 |
588716 |
if (s1 != s2) return (s1 > s2);
|
|
443
|
16 |
588700 |
if (c1 != c2) return (c1 > c2);
|
|
445
|
0 |
588700 |
if (s1 != s2) return (s1 > s2);
|
|
449
|
16 |
588684 |
if (c1 != c2) return (c1 > c2);
|
|
451
|
0 |
588684 |
if (s1 != s2) return (s1 > s2);
|
|
455
|
16 |
588668 |
if (c1 != c2) return (c1 > c2);
|
|
457
|
0 |
588668 |
if (s1 != s2) return (s1 > s2);
|
|
460
|
72 |
588596 |
if (i1 >= nblock) i1 -= nblock;
|
|
461
|
72 |
588596 |
if (i2 >= nblock) i2 -= nblock;
|
|
466
|
588596 |
72 |
while (k >= 0);
|
|
498
|
0 |
5793 |
if (bigN < 2) return;
|
|
501
|
5851 |
5793 |
while (incs[hp] < bigN) hp++;
|
|
504
|
5840 |
5791 |
for (; hp >= 0; hp--) {
|
|
511
|
237 |
5952 |
if (i > hi) break;
|
|
514
|
3031 |
2964 |
while ( mainGtU (
|
|
519
|
2988 |
43 |
if (j <= (lo + h - 1)) break;
|
|
525
|
4476 |
1476 |
if (i > hi) break;
|
|
528
|
1469 |
959 |
while ( mainGtU (
|
|
533
|
517 |
952 |
if (j <= (lo + h - 1)) break;
|
|
539
|
1125 |
351 |
if (i > hi) break;
|
|
542
|
454 |
242 |
while ( mainGtU (
|
|
547
|
109 |
345 |
if (j <= (lo + h - 1)) break;
|
|
552
|
2 |
349 |
if (*budget < 0) return;
|
|
586
|
0 |
26 |
if (a > b) { t = a; a = b; b = t; };
|
|
587
|
0 |
26 |
if (b > c) {
|
|
589
|
0 |
0 |
if (a > b) b = a;
|
|
644
|
5819 |
5791 |
while (sp > 0) {
|
|
646
|
0 |
5819 |
AssertH ( sp < MAIN_QSORT_STACK_SIZE - 2, 1001 );
|
|
649
|
28 |
5791 |
if (hi - lo < MAIN_QSORT_SMALL_THRESH ||
|
|
|
2 |
26 |
if (hi - lo < MAIN_QSORT_SMALL_THRESH ||
|
|
652
|
2 |
5791 |
if (*budget < 0) return;
|
|
666
|
26 |
39013 |
if (unLo > unHi) break;
|
|
668
|
39013 |
0 |
if (n == 0) {
|
|
672
|
0 |
0 |
if (n > 0) break;
|
|
676
|
26 |
0 |
if (unLo > unHi) break;
|
|
678
|
0 |
0 |
if (n == 0) {
|
|
682
|
0 |
0 |
if (n < 0) break;
|
|
685
|
26 |
0 |
if (unLo > unHi) break;
|
|
691
|
26 |
0 |
if (gtHi < ltLo) {
|
|
696
|
0 |
0 |
n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);
|
|
697
|
0 |
0 |
m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);
|
|
706
|
0 |
0 |
if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
|
|
707
|
0 |
0 |
if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);
|
|
708
|
0 |
0 |
if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
|
|
773
|
196611 |
3 |
for (i = 65536; i >= 0; i--) ftab[i] = 0;
|
|
777
|
28759 |
3 |
for (; i >= 3; i -= 4) {
|
|
791
|
1 |
3 |
for (; i >= 0; i--) {
|
|
798
|
102 |
3 |
for (i = 0; i < BZ_N_OVERSHOOT; i++) {
|
|
806
|
196608 |
3 |
for (i = 1; i <= 65536; i++) ftab[i] += ftab[i-1];
|
|
810
|
28759 |
3 |
for (; i >= 3; i -= 4) {
|
|
828
|
1 |
3 |
for (; i >= 0; i--) {
|
|
840
|
768 |
3 |
for (i = 0; i <= 255; i++) {
|
|
848
|
12 |
3 |
do h = 3 * h + 1; while (h <= 256);
|
|
851
|
3303 |
15 |
for (i = h; i <= 255; i++) {
|
|
854
|
1452 |
3144 |
while ( BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv) ) {
|
|
857
|
159 |
1293 |
if (j <= (h - 1)) goto zero;
|
|
862
|
12 |
3 |
} while (h != 1);
|
|
871
|
737 |
1 |
for (i = 0; i <= 255; i++) {
|
|
889
|
188377 |
735 |
for (j = 0; j <= 255; j++) {
|
|
890
|
187640 |
737 |
if (j != ss) {
|
|
892
|
97680 |
89960 |
if ( ! (ftab[sb] & SETMASK) ) {
|
|
895
|
5793 |
91887 |
if (hi > lo) {
|
|
905
|
2 |
5791 |
if (*budget < 0) return;
|
|
912
|
0 |
735 |
AssertH ( !bigDone[ss], 1006 );
|
|
922
|
188160 |
735 |
for (j = 0; j <= 255; j++) {
|
|
926
|
25006 |
735 |
for (j = ftab[ss << 8] & CLEARMASK; j < copyStart[ss]; j++) {
|
|
927
|
0 |
25006 |
k = ptr[j]-1; if (k < 0) k += nblock;
|
|
929
|
12666 |
12340 |
if (!bigDone[c1])
|
|
932
|
24998 |
735 |
for (j = (ftab[(ss+1) << 8] & CLEARMASK) - 1; j > copyEnd[ss]; j--) {
|
|
933
|
1 |
24997 |
k = ptr[j]-1; if (k < 0) k += nblock;
|
|
935
|
12365 |
12633 |
if (!bigDone[c1])
|
|
940
|
0 |
735 |
AssertH ( (copyStart[ss]-1 == copyEnd[ss])
|
|
|
0 |
0 |
AssertH ( (copyStart[ss]-1 == copyEnd[ss])
|
|
|
0 |
0 |
AssertH ( (copyStart[ss]-1 == copyEnd[ss])
|
|
949
|
188160 |
735 |
for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
|
|
992
|
734 |
1 |
if (i < 255) {
|
|
997
|
0 |
734 |
while ((bbSize >> shifts) > 65534) shifts++;
|
|
999
|
49768 |
734 |
for (j = bbSize-1; j >= 0; j--) {
|
|
1003
|
34 |
49734 |
if (a2update < BZ_N_OVERSHOOT)
|
|
1006
|
0 |
734 |
AssertH ( ((bbSize-1) >> shifts) <= 65535, 1002 );
|
|
1047
|
18 |
3 |
if (nblock < 10000) {
|
|
1056
|
1 |
2 |
if (i & 1) i++;
|
|
1066
|
0 |
3 |
if (wfact < 1 ) wfact = 1;
|
|
1067
|
0 |
3 |
if (wfact > 100) wfact = 100;
|
|
1078
|
2 |
1 |
if (budget < 0) {
|
|
1087
|
55588 |
0 |
for (i = 0; i < s->nblock; i++)
|
|
1088
|
21 |
55567 |
if (ptr[i] == 0)
|
|
1091
|
0 |
21 |
AssertH( s->origPtr != -1, 1003 );
|