Branch Coverage

lib/Game/RaycastFOV.xs
Criterion Covered Total %
branch 64 100 64.0


line true false branch
37 5 1 if (!(items & 1)) croak("uneven number of arguments");
39 5 4 for (i = 1; i < items; i += 2) {
42 0 5 CALLTWOUP;
0 5 CALLTWOUP;
48 5 0 answer = POPi;
49 5 0 TWOUPDONE;
50 4 1 if (answer == -1) break;
61 4 1 if (!(items & 1)) croak("uneven number of arguments");
63 43 4 for (i = 1; i < items; i += 2) {
66 0 43 CALLTWOUP;
0 43 CALLTWOUP;
72 0 43 TWOUPDONE;
90 0 4 CIRCLECB(x0, y0 + radius);
0 4 CIRCLECB(x0, y0 + radius);
91 0 4 CIRCLECB(x0, y0 - radius);
0 4 CIRCLECB(x0, y0 - radius);
92 0 4 CIRCLECB(x0 + radius, y0);
0 4 CIRCLECB(x0 + radius, y0);
93 0 4 CIRCLECB(x0 - radius, y0);
0 4 CIRCLECB(x0 - radius, y0);
94 5 4 while (x < y) {
95 4 1 if (f >= 0) {
103 0 5 CIRCLECB(x0 + x, y0 + y);
0 5 CIRCLECB(x0 + x, y0 + y);
104 0 5 CIRCLECB(x0 - x, y0 + y);
0 5 CIRCLECB(x0 - x, y0 + y);
105 0 5 CIRCLECB(x0 + x, y0 - y);
0 5 CIRCLECB(x0 + x, y0 - y);
106 0 5 CIRCLECB(x0 - x, y0 - y);
0 5 CIRCLECB(x0 - x, y0 - y);
107 0 5 CIRCLECB(x0 + y, y0 + x);
0 5 CIRCLECB(x0 + y, y0 + x);
108 0 5 CIRCLECB(x0 - y, y0 + x);
0 5 CIRCLECB(x0 - y, y0 + x);
109 0 5 CIRCLECB(x0 + y, y0 - x);
0 5 CIRCLECB(x0 + y, y0 - x);
110 0 5 CIRCLECB(x0 - y, y0 - x);
0 5 CIRCLECB(x0 - y, y0 - x);
112 4 0 FREETMPS;
125 35 24 sx = x0 < x1 ? 1 : -1;
126 35 24 sy = y0 < y1 ? 1 : -1;
127 33 26 err = (dx > dy ? dx : -dy) / 2;
129 0 144 CALLTWOUP;
0 144 CALLTWOUP;
135 144 0 answer = POPi;
136 144 0 TWOUPDONE;
137 119 25 if (answer == -1 || (x0 == x1 && y0 == y1)) break;
85 34 if (answer == -1 || (x0 == x1 && y0 == y1)) break;
139 57 28 if (e2 > -dx) {
143 29 56 if (e2 < dy) {