Branch Coverage

blib/lib/Math/Vector/Real/kdTree.pm
Criterion Covered Total %
branch 145 296 48.9


line true false branch
33 642 41 @v ? :
43 0 0 if $$self{'hidden'}
49 18867 19935 if (@$ixs > $recommended_per_pole) { }
78 0 6536 unless @_
81 6495 41 if (my $tree = $$self{'tree'}) { }
107 28585 6440 if (defined(my $axis = $$t[6])) { }
114 14620 13965 if ($c <= $cut) { }
115 14588 32 if (2 * $n1 + $max_per_pole >= $n0)
121 13942 23 if (2 * $n0 + $max_per_pole >= $n1)
137 330 6110 if ($n > $max_per_pole)
146 0 0 unless $ix >= 0 and $ix < @$vs
154 0 0 if (defined(my $axis = $$t[6])) { }
158 0 0 if ($c <= $cut and _delete($vs, $s0, $ix)) { }
0 0 elsif ($c >= $cut and _delete($vs, $s1, $ix)) { }
159 0 0 if ($$s0[0]) { }
170 0 0 if ($$s1[0]) { }
183 0 0 if ($$ixs[$_] == $ix)
197 0 0 unless $ix >= 0 and $ix < @$vs
206 466 521 if (defined $$t[6]) { }
227 0 0 if (defined(my $axis = $$t[6])) { }
232 0 0 if ($c <= $cut)
233 0 0 if ($p = _path($vs, $$t[4], $ix))
238 0 0 if ($c >= $cut)
239 0 0 if ($p = _path($vs, $$t[5], $ix))
246 0 0 if grep(($_ == $ix), @{$$t[4];})
261 0 0 if ($c < $cut) { }
265 0 0 if ($c == $cut)
267 0 0 if defined $ix
274 0 0 if $$vs[$_] == $v
281 0 67728 unless my $t = $$self{'tree'}
283 0 67728 defined $d ? :
286 12992 54736 if (@but)
287 0 12992 if (@but == 1 and ref $but[0] eq 'HASH') { }
298 0 67728 wantarray ? :
305 0 12992 unless $ix >= 0
318 629640 357592 if (defined(my $axis = $$t[6])) { }
321 328803 300837 $$v[$axis] <= $$t[7] ? :
323 409284 220356 if ($q_d2 <= $best_d2)
326 278167 872989 if $queue_d2[$j] >= $q_d2
334 12992 1696695 if $but and $$but{$_}
336 262820 1433875 if ($d21 <= $best_d2)
342 308068 49524 if ($t = pop @queue)
343 264891 43177 if ($best_d2 >= pop @queue_d2)
356 0 0 unless my $t = $$self{'tree'}
359 0 0 defined $d ? :
361 0 0 if (@but)
362 0 0 if (@but == 1 and ref $but[0] eq 'HASH') { }
372 0 0 wantarray ? :
382 0 0 if $best_d2 < pop @queue_d2
383 0 0 if (defined(my $axis = $$t[6])) { }
385 0 0 if $$a[$axis] <= $$t[7]
386 0 0 if $$b[$axis] >= $$t[7]
389 0 0 if ($d2 <= $best_d2)
392 0 0 if $queue_d2[$j] >= $d2
401 0 0 if $but and $$but{$_}
404 0 0 if ($d2 <= $best_d2 and $v1->dist2_to_box($a, $b) == 0)
417 0 80 unless @$vs > 1
418 0 80 defined $d ? :
430 2686 2766 if (defined(my $axis = $$t[6])) { }
439 24973 54361 if ($v->dist2_to_box($c0, $c1) < $$d2s[$ix])
456 15776 13293 if ($d2 < $$d2s[$ix_i])
460 8575 20494 if ($d2 < $$d2s[$ix_j])
472 0 418 unless my $t = $$self{'tree'}
474 418 0 if (my($rix0, $rix1, $rd2) = _find_two_nearest_vectors($vs, $t))
475 418 0 wantarray ? :
487 0 0 if (defined $$t[6])
504 15282 15700 if (defined $$t[6]) { }
519 1970 120414 if ($d2 < $best_d2)
533 128830 3649 if ($d2 < $best_d2)
534 40432 88398 unless (defined $$t1[6])
535 39017 1415 unless (defined $$t2[6])
540 114 848242 if ($d2 < $best_d2)
552 171654 7972 if ($d2) { }
553 109225 62429 if ($d2 < $best_d2)
572 6496 0 if (defined $but and ref $but ne 'HASH')
584 164692 128953 if (defined(my $axis = $$t[6])) { }
587 84592 80100 $c <= $cut ? :
588 122457 42235 if $z->dist2_to_box(@{$q;}[1, 2]) <= $d2
592 128953 0 if (wantarray) { }
596 0 0 if not $$but{$_}
598 0 0 $but ? :
601 6496 122457 unless $t = pop @queue
605 6496 0 if (wantarray)
606 6496 0 if ($but)
616 0 6496 unless my $t = $$self{'tree'}
618 0 6496 $d ? :
620 6496 0 if (@but)
621 0 6496 if (@but == 1 and ref $but[0] eq 'HASH') { }
632 0 6496 wantarray ? :
637 0 6496 unless $ix >= 0
648 122190 70829 if (defined(my $axis = $$t[6])) { }
651 64830 57360 $$v[$axis] >= $$t[7] ? :
653 89157 33033 if ($q_d2 >= $best_d2)
656 70627 426444 if $queue_d2[$j] <= $q_d2
664 173 478506 if $but and $$but{$_}
666 54622 423884 if ($d21 >= $best_d2)
672 69749 1080 if ($t = pop @queue)
673 64333 5416 if ($best_d2 <= pop @queue_d2)
684 0 0 unless my $t = $$self{'tree'}
687 0 0 if (not $hidden or @$vs > 20 * keys(%$hidden))
691 0 0 unless $hidden and $$hidden{$ix}
700 0 0 rand $$t[0] < $$t[4][0] ? :
707 0 224 unless $n_req = int $n_req
708 0 224 unless my $t = $$self{'tree'}
717 2295 5191 if ($n_req <= 1) { }
718 12 2283 if $n_req < 1
724 3631 1560 if (defined $$t[6]) { }
729 0 3631 if $n0_req > $n0
737 4477 6154 if rand $n - $_ < $n_req - @out
759 0 0 if (ref $p) { }
765 0 0 if (@store)
778 0 0 unless $n_req = int $n_req
780 0 0 unless my $t = $$self{'tree'}
795 0 0 unless @km < $n_req
805 0 0 if ($max_d2 > $min_d2_to_box)
806 0 0 if (defined $$p[6]) { }
812 0 0 if ($d2 < ($d2[$_] //= $d2))
818 0 0 if ($min_d2_to_box < $min_d2)
823 0 0 if ($max_d2_to_box < $max_d2)
880 0 0 if ($weight[$pivot] < $dice) { }
896 0 224 unless @k
897 0 224 unless my $t = $$self{'tree'}
907 30616 1620 if (my $n = $n[$_])
909 8833 21783 if $k != $k[$_]
913 224 876 unless ($diffs)
914 224 0 wantarray ? :
921 0 0 unless @_
922 0 0 unless my $t = $$self{'tree'}
931 0 0 if (my $n = $n[$_]) { }
939 0 0 wantarray ? :
945 103062 0 if ($n)
950 10061 93001 if (@down <= 1) { }
953 8643 1418 if (defined $$sums[$best]) { }
961 50981 42020 if (defined(my $axis = $$t[6])) { }
971 238570 29198 if (defined $$sums[$best]) { }
985 0 224 unless @_
986 0 224 unless my $t = $$self{'tree'}
997 13660 0 if ($n)
1002 1412 12248 if (@down <= 1) { }
1006 6718 5530 if (defined(my $axis = $$t[6])) { }
1024 2502 3914 if (defined(my $axis = $$t[6])) { }
1044 211583 218119 if (defined $$t[6]) { }
1056 0 0 $$opts{'pole_id'} ? :
1057 0 0 if (defined(my $axis = $$t[6])) { }
1072 0 0 if ($$opts{'dump_vectors'} // 1) { }
1088 0 0 unless $$self{'hidden'}
1090 0 0 if (my $t = $$self{'tree'}) { }
1091 0 0 if $opts{'remark'}