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); |