Branch Coverage

XS.xs
Criterion Covered Total %
branch 73 82 89.0


line true false branch
54 95 68 if (arr->max_size > 0) {
64 59 110 for (i = 0; i < arr->count; ++i) {
73 95 22 if (arr->max_size == 0) {
77 2 20 else if (arr->count == arr->max_size) {
101 68 20 for (i = 0; i < count; ++i) {
112 52 16 if (node->values != NULL) {
117 64 16 for (i = 0; i < CHILDREN_PER_NODE; ++i) {
137 53 5 if (!hv_exists_ent(root->backref, value, 0)) {
142 5 0 list = (DynArr*) SvIV(HeVAL(hv_fetch_ent(root->backref, value, 0, 0)));
157 52 16 if (last) {
174 665 198 return (xmin <= node->xmax && xmax >= node->xmin)
175 863 194 && (ymin <= node->ymax && ymax >= node->ymin);
559 106 && (ymin <= node->ymax && ymax >= node->ymin);
450 109 && (ymin <= node->ymax && ymax >= node->ymin);
182 14 34 : x > node->xmax
184 6 28 : x
189 14 34 : y > node->ymax
191 6 28 : y
212 323 317 if (!is_within_node(node, param)) return;
216 173 144 if (node->values != NULL) {
217 150 173 for (i = 0; i < node->values->count; ++i) {
224 576 144 for (i = 0; i < CHILDREN_PER_NODE; ++i) {
232 304 161 if (!is_within_node(node, param)) return;
234 58 103 if (node->values != NULL) {
240 412 103 for (i = 0; i < CHILDREN_PER_NODE; ++i) {
260 125 0 return (QuadTreeRootNode*) SvIV(get_hash_key(params, "ROOT"));
271 52 7 while ((value = hv_iternextsv(root->backref, &key, &retlen)) != NULL) {
272 52 0 DynArr *list = (DynArr*) SvIV(value);
273 57 52 for (i = 0; i < list->count; ++i) {
299 0 4 node_add_level(root->node,
0 4 node_add_level(root->node,
0 4 node_add_level(root->node,
341 48 5 if (items > 5) {
343 48 0 param.dimensions[3] = SvNV(ST(5));
365 61 3 if (items > 4) {
367 60 1 param.dimensions[3] = SvNV(ST(4));
383 1 0 if (hv_exists_ent(root->backref, object, 0)) {
384 1 0 DynArr* list = (DynArr*) SvIV(HeVAL(hv_fetch_ent(root->backref, object, 0, 0)));
387 1 1 for (i = 0; i < list->count; ++i) {
391 2 1 for(j = 0; j < node->values->count; ++j) {
393 1 1 if (!sv_eq(fetched, object)) {