| line |
true |
false |
branch |
|
56
|
95 |
68 |
if (arr->max_size > 0) { |
|
66
|
59 |
110 |
for (i = 0; i < arr->count; ++i) { |
|
75
|
95 |
22 |
if (arr->max_size == 0) { |
|
79
|
2 |
20 |
else if (arr->count == arr->max_size) { |
|
103
|
68 |
20 |
for (i = 0; i < count; ++i) { |
|
116
|
52 |
16 |
if (node->values != NULL) { |
|
121
|
64 |
16 |
for (i = 0; i < CHILDREN_PER_NODE; ++i) { |
|
131
|
76 |
57 |
if (node->values == NULL) { |
|
133
|
202 |
31 |
for (i = 0; i < CHILDREN_PER_NODE; ++i) { |
|
134
|
45 |
157 |
if (node->children[i].has_objects) return; |
|
139
|
76 |
12 |
if (node->parent != NULL) { |
|
156
|
53 |
5 |
if (!hv_exists_ent(root->backref, value, 0)) { |
|
161
|
5 |
0 |
list = (DynArr*) SvIV(HeVAL(hv_fetch_ent(root->backref, value, 0, 0))); |
|
176
|
52 |
16 |
if (last) { |
|
193
|
624 |
196 |
return (xmin <= node->xmax && xmax >= node->xmin) |
|
194
|
820 |
194 |
&& (ymin <= node->ymax && ymax >= node->ymin); |
|
|
518 |
106 |
&& (ymin <= node->ymax && ymax >= node->ymin); |
|
|
410 |
108 |
&& (ymin <= node->ymax && ymax >= node->ymin); |
|
201
|
14 |
25 |
: x > node->xmax |
|
203
|
3 |
22 |
: x |
|
208
|
14 |
25 |
: y > node->ymax |
|
210
|
3 |
22 |
: y |
|
231
|
588 |
20 |
if (!node->has_objects || !is_within_node(node, param)) return; |
|
|
318 |
270 |
if (!node->has_objects || !is_within_node(node, param)) return; |
|
235
|
134 |
136 |
if (node->values != NULL) { |
|
236
|
150 |
134 |
for (i = 0; i < node->values->count; ++i) { |
|
243
|
544 |
136 |
for (i = 0; i < CHILDREN_PER_NODE; ++i) { |
|
251
|
304 |
161 |
if (!is_within_node(node, param)) return; |
|
254
|
58 |
103 |
if (node->values != NULL) { |
|
260
|
412 |
103 |
for (i = 0; i < CHILDREN_PER_NODE; ++i) { |
|
280
|
125 |
0 |
return (QuadTreeRootNode*) SvIV(get_hash_key(params, "ROOT")); |
|
291
|
52 |
7 |
while ((value = hv_iternextsv(root->backref, &key, &retlen)) != NULL) { |
|
292
|
52 |
0 |
DynArr *list = (DynArr*) SvIV(value); |
|
293
|
57 |
52 |
for (i = 0; i < list->count; ++i) { |
|
320
|
0 |
4 |
node_add_level(root->node, |
|
|
0 |
4 |
node_add_level(root->node, |
|
|
0 |
4 |
node_add_level(root->node, |
|
362
|
48 |
5 |
if (items > 5) { |
|
364
|
48 |
0 |
param.dimensions[3] = SvNV(ST(5)); |
|
386
|
61 |
3 |
if (items > 4) { |
|
388
|
60 |
1 |
param.dimensions[3] = SvNV(ST(4)); |
|
404
|
1 |
0 |
if (hv_exists_ent(root->backref, object, 0)) { |
|
405
|
1 |
0 |
DynArr* list = (DynArr*) SvIV(HeVAL(hv_fetch_ent(root->backref, object, 0, 0))); |
|
408
|
1 |
1 |
for (i = 0; i < list->count; ++i) { |
|
412
|
2 |
1 |
for(j = 0; j < node->values->count; ++j) { |
|
414
|
1 |
1 |
if (!sv_eq(fetched, object)) { |
|
421
|
0 |
1 |
if (new_list->count == 0) clear_has_objects(node); |