Branch Coverage

blib/lib/Rstats/Array.pm
Criterion Covered Total %
branch 339 418 81.1


line true false branch
37 1 8852 if (@_) { }
54 5 0 defined $type ? :
63 4491 10 if (@_) { }
66 0 4491 unless $types_h{$type}
68 1 4490 if ($type eq 'numeric') { }
80 10 0 if (defined $type) { }
81 6 4 if ($type eq 'integer' or $type eq 'double') { }
100 1 4142 if ($length == 0) { }
3 4139 elsif ($length > 1) { }
117 153 4 unless $self->{'names'}
118 153 4 unless $self->{'rownames'}
119 153 4 unless $self->{'colnames'}
120 46 111 unless $self->{'dim'}
121 0 157 $opt{'elements'} ? :
166 4 13 if (@_) { }
169 0 4 if (not defined $_names) { }
2 2 elsif (ref $_names eq 'ARRAY') { }
2 0 elsif (ref $_names eq 'Rstats::Array') { }
185 0 14 if $duplication->{$name}
191 7 6 unless exists $self->{'names'}
199 3 8 if (@_) { }
202 0 3 if (not defined $_colnames) { }
3 0 elsif (ref $_colnames eq 'ARRAY') { }
0 0 elsif (ref $_colnames eq 'Rstats::Array') { }
218 0 8 if $duplication->{$name}
224 5 3 unless exists $self->{'colnames'}
232 3 8 if (@_) { }
235 0 3 if (not defined $_rownames) { }
3 0 elsif (ref $_rownames eq 'ARRAY') { }
0 0 elsif (ref $_rownames eq 'Rstats::Array') { }
251 0 9 if $duplication->{$name}
257 5 3 unless exists $self->{'rownames'}
265 554 5365 if (@_) { }
267 0 554 if (ref $a1 eq 'Rstats::Array') { }
554 0 elsif (ref $a1 eq 'ARRAY') { }
0 0 elsif (not ref $a1) { }
281 2846 2519 unless exists $self->{'dim'}
298 89 8 ref $_[-1] eq 'HASH' ? :
303 1 96 if ($along) { }
311 7 89 if (ref $from_to eq 'ARRAY') { }
4 85 elsif (defined $from_to) { }
321 85 11 unless defined $from
322 0 96 unless defined $from
325 85 11 unless defined $to
333 0 96 if (defined $length and defined $by)
337 93 3 unless (defined $by)
338 92 1 if ($to >= $from) { }
345 0 96 if $by == 0
347 0 96 unless defined $to
349 1 95 if (defined $length and $from ne $to)
354 2 94 if ($to == $from) { }
92 2 elsif ($to > $from) { }
358 0 92 if ($by < 0)
369 0 2 if ($by > 0)
389 1 83 if ($seq_str =~ s/^(.+)\*//)
395 84 0 if ($seq_str =~ /([^\:]+)(?:\:(.+))?/)
398 0 84 unless defined $to
414 4435 0 if (defined $a1) { }
415 3654 781 if (ref $a1 eq 'ARRAY') { }
59 722 elsif (ref $a1 eq 'Rstats::Array') { }
417 10 7659 if (ref $a eq 'ARRAY') { }
21 7638 elsif (ref $a eq 'Rstats::Array') { }
442 7 9817 if Rstats::Util::is_na($element)
444 0 9817 if (not defined $element) { }
16 9801 elsif (Rstats::Util::is_character($element)) { }
31 9770 elsif (Rstats::Util::is_complex($element)) { }
3162 6608 elsif (Rstats::Util::is_double($element)) { }
2 6606 elsif (Rstats::Util::is_integer($element)) { }
2876 3730 elsif (Rstats::Util::is_logical($element)) { }
3618 112 elsif (Rstats::Util::is_perl_number($element)) { }
475 1 4434 if (@modes > 1) { }
476 0 1 if ($mode_h->{'character'}) { }
1 0 elsif ($mode_h->{'complex'}) { }
0 0 elsif ($mode_h->{'double'}) { }
0 0 elsif ($mode_h->{'logical'}) { }
510 1 553 ref $_[-1] eq 'HASH' ? :
512 269 285 unless defined $_dim
519 286 268 if (defined $_dim) { }
520 0 286 if (ref $_dim eq 'Rstats::Array') { }
285 1 elsif (ref $_dim eq 'ARRAY') { }
1 0 elsif (not ref $_dim) { }
537 0 554 unless $array->_real_dim_values
538 7 547 if (@$elements > $max_length) { }
10 537 elsif (@$elements < $max_length) { }
555 1077 4194 if (@{$dim->values;}) { }
559 4194 0 if (defined $self->elements) { }
572 210 39 if (@_)
586 296 4173 if (@_) { }
587 2 294 if (@$dim_values == 1) { }
149 145 elsif (@$dim_values == 2) { }
605 16 0 ($self->{'type'} || '') eq 'double' || ($self->{'type'} || '') eq 'integer' ? :
613 0 0 ($self->{'type'} || '') eq 'double' ? :
621 14 0 ($self->{'type'} || '') eq 'integer' ? :
629 24 0 ($self->{'type'} || '') eq 'complex' ? :
637 15 1334 ($self->{'type'} || '') eq 'character' ? :
645 13 1334 ($self->{'type'} || '') eq 'logical' ? :
653 12 6 if ($mode eq 'character') { }
2 4 elsif ($mode eq 'complex') { }
2 2 elsif ($mode eq 'double') { }
0 2 elsif ($mode eq 'numeric') { }
2 0 elsif ($mode eq 'integer') { }
0 0 elsif ($mode eq 'logical') { }
683 1 35 if (Rstats::Util::is_na($_)) { }
13 22 elsif (Rstats::Util::is_character($_)) { }
4 18 elsif (Rstats::Util::is_complex($_)) { }
16 2 elsif (Rstats::Util::is_double($_)) { }
0 2 elsif (Rstats::Util::is_integer($_)) { }
2 0 elsif (Rstats::Util::is_logical($_)) { }
688 11 2 if (defined $z) { }
700 1 15 if (Rstats::Util::is_nan($_)) { }
711 1 1 $_->value ? :
732 1 29 if (Rstats::Util::is_na($_)) { }
5 24 elsif (Rstats::Util::is_character($_)) { }
3 21 elsif (Rstats::Util::is_complex($_)) { }
12 9 elsif (Rstats::Util::is_double($_)) { }
5 4 elsif (Rstats::Util::is_integer($_)) { }
4 0 elsif (Rstats::Util::is_logical($_)) { }
736 4 1 if (my $num = Rstats::Util::looks_like_number($_->value)) { }
755 2 2 $_->value ? :
774 1 32 if (Rstats::Util::is_na($_)) { }
5 27 elsif (Rstats::Util::is_character($_)) { }
1 26 elsif (Rstats::Util::is_complex($_)) { }
20 6 elsif (Rstats::Util::is_double($_)) { }
2 4 elsif (Rstats::Util::is_integer($_)) { }
4 0 elsif (Rstats::Util::is_logical($_)) { }
778 4 1 if (my $num = Rstats::Util::looks_like_number($_->value)) { }
791 2 18 if (Rstats::Util::is_nan($_) or Rstats::Util::is_infinite($_)) { }
802 2 2 $_->value ? :
821 1 14 if (Rstats::Util::is_na($_)) { }
3 11 elsif (Rstats::Util::is_character($_)) { }
2 9 elsif (Rstats::Util::is_complex($_)) { }
7 2 elsif (Rstats::Util::is_double($_)) { }
0 2 elsif (Rstats::Util::is_integer($_)) { }
2 0 elsif (Rstats::Util::is_logical($_)) { }
831 1 1 if (defined $re and $re == 0 and defined $im and $im == 0) { }
839 1 6 if (Rstats::Util::is_nan($_)) { }
1 5 elsif (Rstats::Util::is_infinite($_)) { }
846 2 3 $_->value == 0 ? :
850 0 0 $_->value == 0 ? :
853 1 1 $_->value == 0 ? :
882 1 170 ref $_[-1] eq 'HASH' ? :
884 170 1 unless defined $drop
889 171 0 if (@_indexs) { }
894 0 0 ref $at eq 'ARRAY' ? :
898 1 170 if (ref $_indexs->[0] eq 'CODE')
925 7 871 unless defined $data
927 77 794 if (ref $data eq 'Rstats::Array') { }
941 39 0 ref $at eq 'ARRAY' ? :
945 1 38 if (ref $_array eq 'CODE') { }
955 1 38 if ($code) { }
986 667 2 if (@$index_values and not $index->is_character and not $index->is_logical)
989 0 687 if ($index_value == 0) { }
993 7 680 if $index_value < 0
996 0 667 if $minus_count > 0 and $minus_count != @$index_values
998 4 663 if $minus_count > 0
1001 14 669 if (not @{$index->values;}) { }
2 667 elsif ($index->is_character) { }
0 667 elsif ($index->is_logical) { }
4 663 elsif ($index->{'_minus'}) { }
1006 2 0 if ($self->is_vector) { }
0 0 elsif ($self->is_matrix) { }
1012 4 8 if ($name eq $self_name)
1018 0 4 unless defined $value
1033 0 0 if Rstats::Util::bool($index->elements->[$i])
1041 8 7 unless grep {$_ == -$k;} @{$index->values;}
1049 108 575 unless $count == 1 and $drop
1051 153 56 unless @a2_dim
1072 109 734 if ($idxs[$i] < @{$values->[$i];} - 1)
1078 210 524 if ($i == $idx_idx[-1])
1086 210 109 if $end_loop
1097 660 313 if ($d > 0) { }
1122 16 1 if (@$elements) { }
1123 8 8 if ($dim_length == 1) { }
6 2 elsif ($dim_length == 2) { }
1125 1 7 if (@$names)
1135 1 5 if (@$colnames) { }
1140 5 6 $d2 == $dim_values->[1] ? :
1145 1 5 @$rownames ? :
1147 2 40 if ($use_rownames) { }
1172 2 8 if (@dim_values > 2) { }
1180 8 22 $d2 == $dim_values[1] ? :
1221 39 11 if (ref $data eq 'Rstats::Array') { }
1226 4 7 if ($reverse) { }
1238 9 41 if $a1->{'type'} ne $a2->{'type'}
1243 20 30 $a1_length > $a2_length ? :
1252 0 44 if ($op eq '/') { }
1269 6 12 if ($type eq 'character') { }
1 11 elsif ($type eq 'complex') { }
8 3 elsif ($type eq 'double') { }
2 1 elsif ($type eq 'integer') { }
1 0 elsif ($type eq 'logical') { }
1291 9 0 if (@modes > 1)
1293 6 3 if ($mode_h->{'character'}) { }
1 2 elsif ($mode_h->{'complex'}) { }
1 1 elsif ($mode_h->{'double'}) { }
1 0 elsif ($mode_h->{'integer'}) { }
0 0 elsif ($mode_h->{'logical'}) { }
1318 2 72 ref $_[-1] eq 'HASH' ? :
1322 0 74 unless defined $_a1
1328 28 46 unless defined $nrow
1331 28 46 unless defined $ncol
1334 74 0 unless defined $byrow
1338 26 48 if (not defined $nrow || defined $ncol) { }
1 47 elsif (not defined $nrow) { }
1 46 elsif (not defined $ncol) { }
1352 1 73 if ($byrow) { }
1395 9 3 @{$self->dim->elements;} == 0 ? :
1403 14 7 @{$self->dim->elements;} == 2 ? :
1416 6 10 if ($a1_dim_count == 2) { }