Branch Coverage

lib/Game/RaycastFOV.xs
Criterion Covered Total %
branch 91 134 67.9


line true false branch
46 2 1 if (!(items & 1)) croak("uneven number of arguments");
48 3 1 for (i = 1; i < items; i += 2) {
51 0 3 CALLTWOUP;
0 3 CALLTWOUP;
57 3 0 answer = POPi;
58 3 0 TWOUPDONE;
59 2 1 if (answer == -1) break;
70 4 1 if (!(items & 1)) croak("uneven number of arguments");
72 43 4 for (i = 1; i < items; i += 2) {
75 0 43 CALLTWOUP;
0 43 CALLTWOUP;
81 0 43 TWOUPDONE;
103 4 0 CIRCLECB(x0, y0 + radius);
0 4 CIRCLECB(x0, y0 + radius);
0 4 CIRCLECB(x0, y0 + radius);
104 4 0 CIRCLECB(x0, y0 - radius);
0 4 CIRCLECB(x0, y0 - radius);
0 4 CIRCLECB(x0, y0 - radius);
105 4 0 CIRCLECB(x0 + radius, y0);
0 4 CIRCLECB(x0 + radius, y0);
0 4 CIRCLECB(x0 + radius, y0);
106 4 0 CIRCLECB(x0 - radius, y0);
0 4 CIRCLECB(x0 - radius, y0);
0 4 CIRCLECB(x0 - radius, y0);
107 5 4 while (x < y) {
108 4 1 if (f >= 0) {
116 1 4 CIRCLECB(x0 + x, y0 + y);
0 1 CIRCLECB(x0 + x, y0 + y);
0 1 CIRCLECB(x0 + x, y0 + y);
117 1 4 CIRCLECB(x0 - x, y0 + y);
0 1 CIRCLECB(x0 - x, y0 + y);
0 1 CIRCLECB(x0 - x, y0 + y);
118 1 4 CIRCLECB(x0 + x, y0 - y);
0 1 CIRCLECB(x0 + x, y0 - y);
0 1 CIRCLECB(x0 + x, y0 - y);
119 1 4 CIRCLECB(x0 - x, y0 - y);
0 1 CIRCLECB(x0 - x, y0 - y);
0 1 CIRCLECB(x0 - x, y0 - y);
120 1 4 CIRCLECB(x0 + y, y0 + x);
0 1 CIRCLECB(x0 + y, y0 + x);
0 1 CIRCLECB(x0 + y, y0 + x);
121 1 4 CIRCLECB(x0 - y, y0 + x);
0 1 CIRCLECB(x0 - y, y0 + x);
0 1 CIRCLECB(x0 - y, y0 + x);
122 1 4 CIRCLECB(x0 + y, y0 - x);
0 1 CIRCLECB(x0 + y, y0 - x);
0 1 CIRCLECB(x0 + y, y0 - x);
123 1 4 CIRCLECB(x0 - y, y0 - x);
0 1 CIRCLECB(x0 - y, y0 - x);
0 1 CIRCLECB(x0 - y, y0 - x);
125 4 0 FREETMPS;
138 25 18 sx = x0 < x1 ? 1 : -1;
139 25 18 sy = y0 < y1 ? 1 : -1;
140 25 18 err = (dx > dy ? dx : -dy) / 2;
142 0 104 CALLTWOUP;
0 104 CALLTWOUP;
148 104 0 answer = POPi;
149 104 0 TWOUPDONE;
150 79 25 if (answer == -1 || (x0 == x1 && y0 == y1)) break;
61 18 if (answer == -1 || (x0 == x1 && y0 == y1)) break;
152 41 20 if (e2 > -dx) {
156 21 40 if (e2 < dy) {
174 645 3 while (angle < max_angle) {
179 24 621 if(!hv_exists(seen, key, len)) {
181 0 24 CALLTWOUP;
0 24 CALLTWOUP;
187 24 0 TWOUPDONE;