Branch Coverage

scale.im
Criterion Covered Total %
branch 156 244 63.9


line true false branch
67 0 20 if (x_out <= 0) {
71 0 20 if (y_out <= 0) {
76 4 16 if (x_out == src->xsize && y_out == src->ysize) {
1 3 if (x_out == src->xsize && y_out == src->ysize) {
83 0 19 if (accum_row_bytes / sizeof(i_fcolor) != src->xsize) {
89 0 19 if (!result)
94 15 4 #code src->bits <= 8
100 0 15 if (in_row_bytes / sizeof(IM_COLOR) != src->xsize) {
0 4 if (in_row_bytes / sizeof(IM_COLOR) != src->xsize) {
107 0 15 if (out_row_bytes / sizeof(IM_COLOR) != x_out) {
0 4 if (out_row_bytes / sizeof(IM_COLOR) != x_out) {
119 742 15 for (y = 0; y < y_out; ++y) {
174 4 for (y = 0; y < y_out; ++y) {
120 96 646 if (y_out == src->ysize) {
85 89 if (y_out == src->ysize) {
127 15360 96 for (x = 0; x < src->xsize; ++x) {
128 46080 15360 for (ch = 0; ch < src->channels; ++ch) {
136 96 0 if (src->channels == 2 || src->channels == 4) {
0 85 if (src->channels == 2 || src->channels == 4) {
137 0 0 for (x = 0; x < src->xsize; ++x) {
0 0 for (x = 0; x < src->xsize; ++x) {
138 0 0 for (ch = 0; ch < src->channels-1; ++ch) {
0 0 for (ch = 0; ch < src->channels-1; ++ch) {
148 1439 646 while (fracrowtofill > 0) {
300 89 while (fracrowtofill > 0) {
149 1323 116 if (rowsleft <= 0) {
214 86 if (rowsleft <= 0) {
150 1322 1 if (rowsread < src->ysize) {
213 1 if (rowsread < src->ysize) {
158 793 646 if (rowsleft < fracrowtofill) {
211 89 if (rowsleft < fracrowtofill) {
173 96 646 if (x_out == src->xsize) {
28 146 if (x_out == src->xsize) {
178 96 0 if (result->channels == 2 || result->channels == 4) {
0 96 if (result->channels == 2 || result->channels == 4) {
180 0 0 for (x = 0; x < x_out; ++x) {
182 0 0 if (alpha) {
183 0 0 for (ch = 0; ch < alpha_chan; ++ch) {
185 0 0 xscale_row[x].channel[ch] = IM_LIMIT(val);
195 0 0 for (ch = 0; ch < alpha_chan; ++ch) {
199 0 0 xscale_row[x].channel[alpha_chan] = IM_LIMIT(accum_row[x].channel[alpha_chan]+0.5);
0 0 xscale_row[x].channel[alpha_chan] = IM_LIMIT(accum_row[x].channel[alpha_chan]+0.5);
203 15360 96 for (x = 0; x < x_out; ++x) {
204 46080 15360 for (ch = 0; ch < result->channels; ++ch)
205 0 46080 xscale_row[x].channel[ch] = IM_LIMIT(accum_row[x].channel[ch]+0.5);
0 46080 xscale_row[x].channel[ch] = IM_LIMIT(accum_row[x].channel[ch]+0.5);
236 109938 735 for (x = 0; x < width; ++x) {
237 331534 109938 for (ch = 0; ch < channels; ++ch)
252 300 0 if (channels == 2 || channels == 4) {
83 217 if (channels == 2 || channels == 4) {
1439 0 if (channels == 2 || channels == 4) {
0 1439 if (channels == 2 || channels == 4) {
253 3569 83 for (x = 0; x < width; ++x) {
0 0 for (x = 0; x < width; ++x) {
254 10707 3569 for (ch = 0; ch < channels-1; ++ch) {
0 0 for (ch = 0; ch < channels-1; ++ch) {
261 25606 217 for (x = 0; x < width; ++x) {
222218 1439 for (x = 0; x < width; ++x) {
262 76818 25606 for (ch = 0; ch < channels; ++ch) {
666654 222218 for (ch = 0; ch < channels; ++ch) {
282 14228 146 for (in_x = 0; in_x < in_width; ++in_x) {
102436 646 for (in_x = 0; in_x < in_width; ++in_x) {
284 5484 14228 while (frac_col_left >= frac_col_to_fill) {
54369 102436 while (frac_col_left >= frac_col_to_fill) {
285 18012 5484 for (ch = 0; ch < channels; ++ch)
163107 54369 for (ch = 0; ch < channels; ++ch)
288 5484 0 if (channels == 2 || channels == 4) {
1560 3924 if (channels == 2 || channels == 4) {
54369 0 if (channels == 2 || channels == 4) {
0 54369 if (channels == 2 || channels == 4) {
291 1522 38 if (alpha) {
0 0 if (alpha) {
292 4566 1522 for (ch = 0; ch < alpha_chan; ++ch) {
0 0 for (ch = 0; ch < alpha_chan; ++ch) {
294 0 4566 out[out_x].channel[ch] = IM_LIMIT(val);
0 4566 out[out_x].channel[ch] = IM_LIMIT(val);
0 0 out[out_x].channel[ch] = IM_LIMIT(val);
298 114 38 for (ch = 0; ch < alpha_chan; ++ch) {
0 0 for (ch = 0; ch < alpha_chan; ++ch) {
303 0 1560 out[out_x].channel[alpha_chan] = IM_LIMIT(IM_ROUND(accum[alpha_chan]));
0 1560 out[out_x].channel[alpha_chan] = IM_LIMIT(IM_ROUND(accum[alpha_chan]));
0 0 out[out_x].channel[alpha_chan] = IM_LIMIT(IM_ROUND(accum[alpha_chan]));
306 11772 3924 for (ch = 0; ch < channels; ++ch) {
163107 54369 for (ch = 0; ch < channels; ++ch) {
308 0 11772 out[out_x].channel[ch] = IM_LIMIT(val);
0 11772 out[out_x].channel[ch] = IM_LIMIT(val);
163107 0 out[out_x].channel[ch] = IM_LIMIT(val);
311 18012 5484 for (ch = 0; ch < channels; ++ch)
163107 54369 for (ch = 0; ch < channels; ++ch)
318 14228 0 if (frac_col_left > 0) {
60196 42240 if (frac_col_left > 0) {
319 44404 14228 for (ch = 0; ch < channels; ++ch) {
180588 60196 for (ch = 0; ch < channels; ++ch) {
326 146 0 if (out_x < out_width-1 || out_x > out_width) {
0 146 if (out_x < out_width-1 || out_x > out_width) {
646 0 if (out_x < out_width-1 || out_x > out_width) {
0 646 if (out_x < out_width-1 || out_x > out_width) {
331 61 85 if (out_x < out_width) {
22 624 if (out_x < out_width) {
332 223 61 for (ch = 0; ch < channels; ++ch) {
66 22 for (ch = 0; ch < channels; ++ch) {
335 61 0 if (channels == 2 || channels == 4) {
40 21 if (channels == 2 || channels == 4) {
22 0 if (channels == 2 || channels == 4) {
0 22 if (channels == 2 || channels == 4) {
338 26 14 if (alpha) {
0 0 if (alpha) {
339 78 26 for (ch = 0; ch < alpha_chan; ++ch) {
0 0 for (ch = 0; ch < alpha_chan; ++ch) {
341 0 78 out[out_x].channel[ch] = IM_LIMIT(val);
0 78 out[out_x].channel[ch] = IM_LIMIT(val);
0 0 out[out_x].channel[ch] = IM_LIMIT(val);
345 42 14 for (ch = 0; ch < alpha_chan; ++ch) {
0 0 for (ch = 0; ch < alpha_chan; ++ch) {
350 0 40 out[out_x].channel[alpha_chan] = IM_LIMIT(IM_ROUND(accum[alpha_chan]));
0 40 out[out_x].channel[alpha_chan] = IM_LIMIT(IM_ROUND(accum[alpha_chan]));
0 0 out[out_x].channel[alpha_chan] = IM_LIMIT(IM_ROUND(accum[alpha_chan]));
353 63 21 for (ch = 0; ch < channels; ++ch) {
66 22 for (ch = 0; ch < channels; ++ch) {
355 0 63 out[out_x].channel[ch] = IM_LIMIT(val);
0 63 out[out_x].channel[ch] = IM_LIMIT(val);
66 0 out[out_x].channel[ch] = IM_LIMIT(val);