Branch Coverage

blib/lib/AI/Genetic/Pro.pm
Criterion Covered Total %
branch 70 144 48.6


line true false branch
55 60 330 if (ref $_) { }
58 0 15 if $self->type eq 'combination' and $self->variable_length
60 0 15 unless defined $self->strategy
62 0 1 if $self->type eq 'combination' and ($self->strategy->[0] ne 'OX' and $self->strategy->[0] ne 'PMX')
64 0 15 if $self->strategy->[0] eq 'PMX' || $self->strategy->[0] eq 'OX' and $self->variable_length
67 0 15 if $self->strict
85 0 0 unless compare(\@tmp, \@cmp)
94 42234 4001 if exists $$_Cache{$key}
112 0 48 if $$ars{$$data[$_]}
125 24 0 if ($$data[$idx][1] < 1) { }
139 0 15 unless $data
145 13 2 if $self->cache
148 3 12 if ($self->type eq 'listvector') { }
8 4 elsif ($self->type eq 'bitvector') { }
1 3 elsif ($self->type eq 'combination') { }
3 0 elsif ($self->type eq 'rangevector') { }
149 0 3 unless ref $data eq 'ARRAY'
152 0 8 unless $data =~ /^\d+$/o
156 0 1 unless ref $data eq 'ARRAY'
160 0 3 unless ref $data eq 'ARRAY'
168 12 276 if $#$_ > $size
12 3 if ($self->type ne 'rangevector') { }
170 3 21 if $$_[2] > $size
175 7 8 ref $data ? :
176 6 9 if ($self->variable_length)
177 4 2 ref $data ? :
191 0 0 unless 'Storable'->use('store', 'retrieve')
196 0 0 unless defined $file
207 0 0 if exists $$clone{$key}
215 0 0 unless 'Storable'->use('store', 'retrieve')
220 0 0 unless defined $file
223 0 0 unless $clone
243 0 0 unless 'GD::Graph::linespoints'->require
250 0 0 if (defined $params{-'font'})
263 0 0 defined $params{-'show_values'} ? :
0 0 $params{-'logo'} && -f $params{-'logo'} ? :
297 0 0 unless my $gd = $graph->plot([[0 .. $#{$$data[0];}], @$data])
298 0 0 unless open my $fh, '>', $params{-'filename'}
311 0 0 if not $self->variable_length or $self->variable_length < 2
314 0 0 if ($self->type eq 'bitvector') { }
320 0 0 if wantarray
328 11718 2428 if ($self->type eq 'bitvector') { }
1084 1344 elsif ($self->type eq 'rangevector') { }
329 0 11718 if wantarray
335 7993 26 $_ ? :
337 0 1084 if wantarray
342 0 1344 if wantarray
350 0 0 if not $self->variable_length or $self->variable_length < 2
355 0 0 if $self->type eq 'bitvector'
360 414 0 if $_[0]->type eq 'bitvector'
361 0 0 defined $_ ? :
366 0 20044 unless defined $_[0] and ref $_[0] and ref $_[0] eq 'AI::Genetic::Pro'
368 0 20044 unless defined $_[1] and ref $_[1] and ref $_[1] eq 'AI::Genetic::Pro::Chromosome'
399 10 6 unless ($self->_selector)
400 0 10 unless defined $self->selection
416 10 6 unless ($self->_strategist)
432 10 6 unless ($self->_mutator)
434 0 10 unless ($mutator->require)
446 0 16 if ($_[0]->history) { }
475 0 12 if ($self->strict and $self->_strict)
477 0 0 unless $self->chromosomes->[$idx] and $self->_strict->[$idx]
480 0 0 unless compare(\@tmp0, \@tmp1)
485 10 2 if (not $self->preserve) { }
488 10 16 if $self->terminate and $self->terminate->($self)
501 0 2 if $self->preserve > $self->population
505 2 0 if $self->terminate and $self->terminate->($self)
528 0 12 if ($self->strict)
552 0 39 unless scalar %{$self->_fitness;}
555 0 39 if ($uniq)
561 0 0 unless ($grep{$key})
569 0 39 if $n > scalar @keys
573 39 0 wantarray ? :