Branch Coverage

color_space.c
Criterion Covered Total %
branch 91 112 81.2


line true false branch
21 62 0 return pow(a >= 0.0 ? a : -a, p);
60 4 21 BOUNDED(h, 0, 360);
2 21 BOUNDED(h, 0, 360);
61 4 17 if (h < 60) { return p + (q-p)*h/60; }
62 7 10 else if (h < 180) { return q; }
63 3 7 else if (h < 240) { return p + (q-p)*(240-h)/60; }
72 2 5 EXTREME(k, cmy.a, cmy.b, cmy.c, <);
2 5 EXTREME(k, cmy.a, cmy.b, cmy.c, <);
98 3 4 if ( l <= 0.5) {
119 2 5 EXTREME(max, r, g, b, >);
2 5 EXTREME(max, r, g, b, >);
120 1 6 EXTREME(min, r, g, b, <);
0 7 EXTREME(min, r, g, b, <);
125 4 3 CALC_HS(hsl[0], hsl[1], max, delta, r, g, b, (hsl[2] <= 0.5 ? sum : (2.0 - sum)));
2 1 CALC_HS(hsl[0], hsl[1], max, delta, r, g, b, (hsl[2] <= 0.5 ? sum : (2.0 - sum)));
1 2 CALC_HS(hsl[0], hsl[1], max, delta, r, g, b, (hsl[2] <= 0.5 ? sum : (2.0 - sum)));
0 2 CALC_HS(hsl[0], hsl[1], max, delta, r, g, b, (hsl[2] <= 0.5 ? sum : (2.0 - sum)));
1 3 CALC_HS(hsl[0], hsl[1], max, delta, r, g, b, (hsl[2] <= 0.5 ? sum : (2.0 - sum)));
0 3 CALC_HS(hsl[0], hsl[1], max, delta, r, g, b, (hsl[2] <= 0.5 ? sum : (2.0 - sum)));
135 2 5 EXTREME(max, r, g, b, >);
2 5 EXTREME(max, r, g, b, >);
136 1 6 EXTREME(min, r, g, b, <);
0 7 EXTREME(min, r, g, b, <);
140 4 3 CALC_HS(hsv[0], hsv[1], max, delta, r, g, b, max);
1 2 CALC_HS(hsv[0], hsv[1], max, delta, r, g, b, max);
0 2 CALC_HS(hsv[0], hsv[1], max, delta, r, g, b, max);
1 3 CALC_HS(hsv[0], hsv[1], max, delta, r, g, b, max);
0 3 CALC_HS(hsv[0], hsv[1], max, delta, r, g, b, max);
205 14 10 if (gamma < 0) { /* special case for sRGB gamma curve */
206 42 14 for (i = 0; i < 3; i++)
207 20 22 out[i] = fabs(rgb[i]) <= 0.04045 ? rgb[i] / 12.92 : _apow( (rgb[i] + 0.055)/1.055, 2.4 );
208 4 6 } else if (gamma == 1.0) { /* copy if different locations */
209 4 0 if (rgb != out)
210 12 4 for (i = 0; i < 3; i++)
213 18 6 for (i = 0; i < 3; i++)
230 14 0 if (gamma < 0) { /* special case for sRGB gamma curve */
231 42 14 for (i = 0; i < 3; i++)
232 20 22 out[i] = (fabs(rgb[i]) <= 0.0031308) ? 12.92 * rgb[i] : 1.055 * _apow(rgb[i], 1.0/2.4) - 0.055;
233 0 0 } else if (gamma == 1.0) { /* copy if different locations */
234 0 0 if (rgb != out)
235 0 0 for (i = 0; i < 3; i++)
238 0 0 for (i = 0; i < 3; i++)
246 0 16 if ( xyY[1] == 0.0 ) {
262 8 5 double fx = (xr > epsilon)? pow(xr, 1.0/3.0) : (kappa * xr + 16.0) / 116.0;
263 8 5 double fy = (yr > epsilon)? pow(yr, 1.0/3.0) : (kappa * yr + 16.0) / 116.0;
264 9 4 double fz = (zr > epsilon)? pow(zr, 1.0/3.0) : (kappa * zr + 16.0) / 116.0;
277 7 9 BOUNDED(lch[2], 0.0, 360.0);
0 9 BOUNDED(lch[2], 0.0, 360.0);
295 0 5 if (h < 0.0)
297 3 2 if (h > M_PI/2 && h < M_PI*3/2)
0 3 if (h > M_PI/2 && h < M_PI*3/2)
299 3 2 if (h > M_PI)
306 7 4 double yr = (lab[0] > kappa * epsilon) ? pow( (lab[0] + 16.0)/116.0, 3 ) : lab[0] / kappa;
308 7 4 double fy = (yr > epsilon) ? (lab[0] + 16.0)/116.0 : (kappa * yr + 16.0)/116.0;
312 7 4 double xr = (pow(fx, 3) > epsilon) ? pow(fx, 3) : (fx * 116.0 - 16.0) / kappa;
313 9 2 double zr = (pow(fz, 3) > epsilon) ? pow(fz, 3) : (fz * 116.0 - 16.0) / kappa;