Branch Coverage

blib/lib/Algorithm/ClusterPoints.pm
Criterion Covered Total %
branch 118 174 67.8


line true false branch
20 0 15 unless @_ & 1
24 0 15 unless defined $dimension
25 0 15 if $dimension < 1
32 0 15 if %opts
43 15 0 if defined $radius
44 12 3 if defined $minimum_size
45 15 0 if defined $ordered
46 0 15 if (defined $scales)
47 0 0 unless ref $scales eq 'ARRAY'
50 1 14 if (defined $dimensional_groups)
51 0 1 unless ref $dimensional_groups eq 'ARRAY'
60 0 162 if @_ % $dimension
73 0 0 unless @_ == 2
76 0 0 if $ix > $top or $ix < 0
78 0 0 if $$self{'dimension'} == 1
80 0 0 unless wantarray
87 0 51 if @_ > 2
89 51 0 if (@_)
91 0 51 unless $radius > 0
99 0 15 if @_ > 2
101 15 0 if (@_)
109 0 12 if @_ > 2
111 12 0 if (@_)
113 0 12 unless $minimum_size > 0
123 0 0 if (@_)
124 0 0 unless @_ == $dimension
125 0 0 if grep(($_ <= 0), @_)
136 253 510 if (@_)
141 0 253 unless @all == $dimension and join('|', @all) eq join('|', 0 .. $dimension - 1)
179 49 196 if $c1_xmin - $c2_xmax > 1
183 25 171 if $c2_xmin - $c1_xmax > 1
187 34 137 if $c1_ymin - $c2_ymax > 1
191 26 111 if $c2_ymin - $c1_ymax > 1
197 84 55 if $dx * $dx + $dy * $dy <= 1
210 349 4447 if $c1_min - $c2_max > 1
214 329 4118 if $c2_min - $c1_max > 1
225 337 1470 if $sum > 1
241 672 1362 if $scale == 1
252 14 241 _hypercylinder_id($self->dimensional_groups) eq '0,1' ? :
260 0 14 unless $$self{'dimension'} == 2
264 0 14 unless @$ax
301 459 876 unless defined $ifx
305 602 3778 if $dy * $dy > $filter
307 953 2825 unless defined $ify
310 84 251 if (defined $cluster and not $cluster{$cluster} and _touch_2($cell{$cell}, $cell{$neighbor}, $ax, $ay))
317 72 195 if (%cluster) { }
319 12 60 if (keys %cluster > 1) { }
323 11 13 defined $cells ? :
324 17 7 if ($n > $max)
333 3 9 if (defined $neighbors) { }
358 28 0 if (@points >= $$self{'minimum_size'})
359 28 0 if $$self{'ordered'}
365 14 0 if $$self{'ordered'}
396 353442 92446 $_ ? :
422 0 241 unless $top >= 0
465 5222970 16035609 unless $ifls[$_]{$fl[$_] + $$delta[$_]}
469 768 6498 if (defined $cluster and not $cluster{$cluster} and _touch($cell{$cell}, $cell{$neighbor}, $coords, $groups))
475 727 5326 if (%cluster) { }
477 35 692 if (keys %cluster > 1) { }
481 35 41 defined $cells ? :
482 48 28 if ($n > $max)
491 11 30 if (defined $neighbors) { }
516 186 0 if (@points >= $$self{'minimum_size'})
517 186 0 if $$self{'ordered'}
523 241 0 if $$self{'ordered'}
530 14 241 _hypercylinder_id($self->dimensional_groups) eq '0,1' ? :
536 0 14 unless @_ == 1
539 0 14 unless $$self{'dimension'} == 2
543 0 14 unless @$ax
559 150 7185 if ($dx * $dx + $dy * $dy <= 1)
565 150 5855 if (@queue) { }
568 637 3313 unless defined $done
572 44 3269 if ($dx * $dx + $dy * $dy <= 1)
585 183 0 if (@current >= $$self{'minimum_size'})
586 183 0 if $$self{'ordered'}
591 14 0 if $$self{'ordered'}
604 220049 11085 if $sum > 1
611 0 241 unless @_ == 1
617 0 241 unless @ix
631 2947 210130 if (_points_touch($ix, $current, $coords, $groups))
636 2947 203293 if (@queue) { }
639 2281 10028 unless defined $done
641 109 9919 if (_points_touch($ix, $done, $coords, $groups))
653 5285 0 if (@current >= $$self{'minimum_size'})
654 5285 0 if $$self{'ordered'}
659 241 0 if $$self{'ordered'}
664 0 0 unless @_ == 3