Branch Coverage

blib/lib/Math/Vector/Real/kdTree.pm
Criterion Covered Total %
branch 145 270 53.7


line true false branch
33 642 41 @v ? :
43 0 0 if $$self{'hidden'}
49 18686 19751 if (@$ixs > $recommended_per_pole) { }
78 0 6536 unless @_
81 6495 41 if (my $tree = $$self{'tree'}) { }
107 28558 6450 if (defined(my $axis = $$t[6])) { }
114 14523 14035 if ($c <= $cut) { }
115 14498 25 if (2 * $n1 + $max_per_pole >= $n0)
121 14015 20 if (2 * $n0 + $max_per_pole >= $n1)
137 337 6113 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 291 336 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 634494 361388 if (defined(my $axis = $$t[6])) { }
321 335161 299333 $$v[$axis] <= $$t[7] ? :
323 411601 222893 if ($q_d2 <= $best_d2)
326 279502 914329 if $queue_d2[$j] >= $q_d2
334 12992 1684128 if $but and $$but{$_}
336 261320 1422808 if ($d21 <= $best_d2)
342 311963 49425 if ($t = pop @queue)
343 268734 43229 if ($best_d2 >= pop @queue_d2)
356 0 80 unless @$vs > 1
357 0 80 defined $d ? :
369 2680 2760 if (defined(my $axis = $$t[6])) { }
378 24926 54530 if ($v->dist2_to_box($c0, $c1) < $$d2s[$ix])
395 15761 13630 if ($d2 < $$d2s[$ix_i])
399 8669 20722 if ($d2 < $$d2s[$ix_j])
411 0 418 unless my $t = $$self{'tree'}
413 418 0 if (my($rix0, $rix1, $rd2) = _find_two_nearest_vectors($vs, $t))
414 418 0 wantarray ? :
426 0 0 if (defined $$t[6])
443 15276 15694 if (defined $$t[6]) { }
458 1957 120749 if ($d2 < $best_d2)
472 120426 4321 if ($d2 < $best_d2)
473 38722 81704 unless (defined $$t1[6])
474 36490 2232 unless (defined $$t2[6])
479 129 787652 if ($d2 < $best_d2)
491 159883 7989 if ($d2) { }
492 101482 58401 if ($d2 < $best_d2)
511 6496 0 if (defined $but and ref $but ne 'HASH')
523 158690 122500 if (defined(my $axis = $$t[6])) { }
526 82538 76152 $c <= $cut ? :
527 116004 42686 if $z->dist2_to_box(@{$q;}[1, 2]) <= $d2
531 122500 0 if (wantarray) { }
535 0 0 if not $$but{$_}
537 0 0 $but ? :
540 6496 116004 unless $t = pop @queue
544 6496 0 if (wantarray)
545 6496 0 if ($but)
555 0 6496 unless my $t = $$self{'tree'}
557 0 6496 $d ? :
559 6496 0 if (@but)
560 0 6496 if (@but == 1 and ref $but[0] eq 'HASH') { }
571 0 6496 wantarray ? :
576 0 6496 unless $ix >= 0
587 124033 70782 if (defined(my $axis = $$t[6])) { }
590 65220 58813 $$v[$axis] >= $$t[7] ? :
592 88425 35608 if ($q_d2 >= $best_d2)
595 70429 420330 if $queue_d2[$j] <= $q_d2
603 196 461806 if $but and $$but{$_}
605 56256 405550 if ($d21 >= $best_d2)
611 69697 1085 if ($t = pop @queue)
612 64286 5411 if ($best_d2 <= pop @queue_d2)
623 0 0 unless my $t = $$self{'tree'}
626 0 0 if (not $hidden or @$vs > 20 * keys(%$hidden))
630 0 0 unless $hidden and $$hidden{$ix}
639 0 0 rand $$t[0] < $$t[4][0] ? :
646 0 224 unless $n_req = int $n_req
647 0 224 unless my $t = $$self{'tree'}
656 2284 5180 if ($n_req <= 1) { }
657 21 2263 if $n_req < 1
663 3620 1560 if (defined $$t[6]) { }
668 0 3620 if $n0_req > $n0
676 4497 6272 if rand $n - $_ < $n_req - @out
698 0 0 if (ref $p) { }
704 0 0 if (@store)
717 0 0 unless $n_req = int $n_req
719 0 0 unless my $t = $$self{'tree'}
734 0 0 unless @km < $n_req
744 0 0 if ($max_d2 > $min_d2_to_box)
745 0 0 if (defined $$p[6]) { }
751 0 0 if ($d2 < ($d2[$_] //= $d2))
757 0 0 if ($min_d2_to_box < $min_d2)
762 0 0 if ($max_d2_to_box < $max_d2)
819 0 0 if ($weight[$pivot] < $dice) { }
835 0 224 unless @k
836 0 224 unless my $t = $$self{'tree'}
846 29609 1561 if (my $n = $n[$_])
848 8837 20772 if $k != $k[$_]
852 224 897 unless ($diffs)
853 224 0 wantarray ? :
860 0 0 unless @_
861 0 0 unless my $t = $$self{'tree'}
870 0 0 if (my $n = $n[$_]) { }
878 0 0 wantarray ? :
884 102983 0 if ($n)
889 9264 93719 if (@down <= 1) { }
892 7725 1539 if (defined $$sums[$best]) { }
900 50931 42788 if (defined(my $axis = $$t[6])) { }
910 245331 28070 if (defined $$sums[$best]) { }
924 0 224 unless @_
925 0 224 unless my $t = $$self{'tree'}
936 13636 0 if ($n)
941 1347 12289 if (@down <= 1) { }
945 6706 5583 if (defined(my $axis = $$t[6])) { }
963 2488 3835 if (defined(my $axis = $$t[6])) { }
983 210966 217502 if (defined $$t[6]) { }
995 0 0 $$opts{'pole_id'} ? :
996 0 0 if (defined(my $axis = $$t[6])) { }
1011 0 0 if ($$opts{'dump_vectors'} // 1) { }
1027 0 0 unless $$self{'hidden'}
1029 0 0 if (my $t = $$self{'tree'}) { }
1030 0 0 if $opts{'remark'}