Branch Coverage

compress.c
Criterion Covered Total %
branch 171 186 91.9


line true false branch
54 41 21 while (s->bsLive > 0) {
81 62669 76758 bsNEEDW ( n );
116 5376 21 for (i = 0; i < 256; i++)
117 1033 4343 if (s->inUse[i]) {
163 1075 21 for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
167 1033 21 for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
169 125395 21 for (i = 0; i < s->nblock; i++) {
172 21 125374 j = ptr[i]-1; if (j < 0) j += s->nblock;
176 65290 60105 if (yy[0] == ll_i) {
180 315 59790 if (zPend > 0) {
183 230 396 if (zPend & 1) {
190 315 311 if (zPend < 2) break;
203 7546997 60105 while ( rll_i != rtmp ) {
218 1 20 if (zPend > 0) {
221 6 4 if (zPend & 1) {
228 1 9 if (zPend < 2) break;
276 126 21 for (t = 0; t < BZ_N_GROUPS; t++)
277 6450 126 for (v = 0; v < alphaSize; v++)
281 0 21 AssertH ( s->nMTF > 0, 3001 );
282 17 4 if (s->nMTF < 200) nGroups = 2; else
283 1 3 if (s->nMTF < 600) nGroups = 3; else
284 0 3 if (s->nMTF < 1200) nGroups = 4; else
285 0 3 if (s->nMTF < 2400) nGroups = 5; else
295 55 21 while (nPart > 0) {
299 1081 55 while (aFreq < tFreq && ge < alphaSize-1) {
1081 0 while (aFreq < tFreq && ge < alphaSize-1) {
304 53 2 if (ge > gs
305 33 20 && nPart != nGroups && nPart != 1
12 21 && nPart != nGroups && nPart != 1
306 6 6 && ((nGroups-nPart) % 2 == 1)) {
317 5252 55 for (v = 0; v < alphaSize; v++)
318 3169 2083 if (v >= gs && v <= ge)
1075 2094 if (v >= gs && v <= ge)
331 84 21 for (iter = 0; iter < BZ_N_ITERS; iter++) {
333 220 84 for (t = 0; t < nGroups; t++) fave[t] = 0;
335 220 84 for (t = 0; t < nGroups; t++)
336 21008 220 for (v = 0; v < alphaSize; v++)
343 12 72 if (nGroups == 6) {
344 3084 12 for (v = 0; v < alphaSize; v++) {
357 84 4908 if (gs >= s->nMTF) break;
359 80 4828 if (ge >= s->nMTF) ge = s->nMTF-1;
365 29068 4908 for (t = 0; t < nGroups; t++) cost[t] = 0;
367 4808 100 if (nGroups == 6 && 50 == ge-gs+1) {
4800 8 if (nGroups == 6 && 50 == ge-gs+1) {
398 3048 108 for (i = gs; i <= ge; i++) {
400 7028 3048 for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
409 29068 4908 for (t = 0; t < nGroups; t++)
410 10975 18093 if (cost[t] < bc) { bc = cost[t]; bt = t; };
419 4808 100 if (nGroups == 6 && 50 == ge-gs+1) {
4800 8 if (nGroups == 6 && 50 == ge-gs+1) {
439 3048 108 for (i = gs; i <= ge; i++)
445 0 84 if (s->verbosity >= 3) {
448 0 0 for (t = 0; t < nGroups; t++)
458 220 84 for (t = 0; t < nGroups; t++)
464 0 21 AssertH( nGroups < 8, 3002 );
465 21 0 AssertH( nSelectors < 32768 &&
0 21 AssertH( nSelectors < 32768 &&
473 55 21 for (i = 0; i < nGroups; i++) pos[i] = i;
474 1227 21 for (i = 0; i < nSelectors; i++) {
478 2965 1227 while ( ll_i != tmp ) {
490 55 21 for (t = 0; t < nGroups; t++) {
493 5252 55 for (i = 0; i < alphaSize; i++) {
494 75 5177 if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
495 133 5119 if (s->len[t][i] < minLen) minLen = s->len[t][i];
497 0 55 AssertH ( !(maxLen > 17 /*20*/ ), 3004 );
498 0 55 AssertH ( !(minLen < 1), 3005 );
506 336 21 for (i = 0; i < 16; i++) {
508 5376 336 for (j = 0; j < 16; j++)
509 1033 4343 if (s->inUse[i * 16 + j]) inUse16[i] = True;
513 336 21 for (i = 0; i < 16; i++)
514 129 207 if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
516 336 21 for (i = 0; i < 16; i++)
517 129 207 if (inUse16[i])
518 2064 129 for (j = 0; j < 16; j++) {
519 1033 1031 if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
530 1227 21 for (i = 0; i < nSelectors; i++) {
531 2965 1227 for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
540 55 21 for (t = 0; t < nGroups; t++) {
543 5252 55 for (i = 0; i < alphaSize; i++) {
544 1775 5252 while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
545 1734 5252 while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
558 21 1227 if (gs >= s->nMTF) break;
560 20 1207 if (ge >= s->nMTF) ge = s->nMTF-1;
561 0 1227 AssertH ( s->selector[selCtr] < nGroups, 3006 );
563 1202 25 if (nGroups == 6 && 50 == ge-gs+1) {
1200 2 if (nGroups == 6 && 50 == ge-gs+1) {
592 762 27 for (i = gs; i <= ge; i++) {
603 0 21 AssertH( selCtr == nSelectors, 3007 );
613 21 2 if (s->nblock > 0) {
618 0 21 if (s->blockNo > 1) s->numZ = 0;
631 21 2 if (s->blockNo == 1) {
639 21 2 if (s->nblock > 0) {
666 21 2 if (is_last_block) {