Branch Coverage

SkewHeap.xs
Criterion Covered Total %
branch 67 114 58.7


line true false branch
59 30 18 if (node == NULL) {
75 45 57 if (node->left != NULL) free_node(aTHX_ node->left);
76 20 82 if (node->right != NULL) free_node(aTHX_ node->right);
104 24 0 skewheap_t *heap = SKEW(ref);
105 15 9 if (heap->root != NULL) free_node(aTHX_ heap->root);
117 0 0 if (node->left != NULL) {
121 0 0 if (node->right != NULL) {
130 0 0 skewheap_t *heap = SKEW(ref);
137 0 0 for (i = 0; i < heap->size; ++i) {
164 0 66 if (cv == Nullcv) {
176 0 66 PUSH_MULTICALL(cv);
0 66 PUSH_MULTICALL(cv);
179 89 66 while (top >= 0) {
186 155 89 for (j = start; j <= end - 1; ++j) {
191 155 0 int test = SvIV(*PL_stack_sp);
193 96 59 if (test < 1) {
205 21 68 if (p - 1 > start) {
210 2 87 if (p + 1 < end) {
216 66 0 POP_MULTICALL;
0 66 POP_MULTICALL;
221 3 0 skewheap_t *heap = SKEW(heap_ref);
223 3 0 skewheap_t *heap_a = SKEW(heap_ref_a);
224 3 0 skewheap_t *heap_b = SKEW(heap_ref_b);
242 3 0 if (a != NULL) todo[tidx++] = a;
243 3 0 if (b != NULL) todo[tidx++] = b;
245 12 3 while (tidx > 0) {
251 6 6 if (node->right != NULL) {
260 3 0 if (nidx > 0) {
262 3 0 if (nidx > 1) {
267 9 3 for (i = nidx; i > 1; --i) {
272 9 0 if (prev->left != NULL) {
296 5 72 if (a == NULL) {
300 9 63 else if (b == NULL) {
309 175 63 while (tidx > 0) {
312 49 126 if (node->right != NULL) {
320 0 63 if (nidx == 0) {
325 63 0 if (nidx > 1) {
330 112 63 for (i = nidx; i > 1; --i) {
335 68 44 if (prev->left != NULL) {
343 63 14 heap->root = nodes[0];
349 72 0 skewheap_t *heap = SKEW(ref);
355 17 55 if (heap->root == NULL) {
366 22 0 skewheap_t *heap = SKEW(ref);
370 22 0 if (root != NULL) {
387 8 0 skewheap_t *heap = SKEW(ref);
390 6 2 : newSVsv(heap->root->value);
395 19 0 skewheap_t *heap = SKEW(ref);
401 3 0 SV *new_heap = new(aTHX_ "SkewHeap", SKEW(heap_a)->cmp);
410 0 0 for (i = 0; i < depth; ++i) sv_catpvn(out, "--", 2);
414 0 0 for (i = 0; i < depth; ++i) sv_catpvn(out, "--", 2);
419 0 0 if (node->left != NULL) {
420 0 0 for (i = 0; i < depth; ++i) sv_catpvn(out, "--", 2);
425 0 0 if (node->right != NULL) {
426 0 0 for (i = 0; i < depth; ++i) sv_catpvn(out, "--", 2);
434 0 0 skewheap_t *heap = SKEW(ref);
439 0 0 if (heap->root != NULL) {
480 72 25 for (i = 1; i < items; ++i) {