Algorithm-DependencySolver
view release on metacpan or search on metacpan
lib/Algorithm/DependencySolver/Solver.pm view on Meta::CPAN
my @sequentials;
for my $node_id (@node_ids) {
my @pred_ids = $self->get_Graph->all_predecessors($node_id);
push @pred_ids, $node_id;
my $C = List::Compare->new(\@node_ids, \@pred_ids);
if ($C->is_LsubsetR) {
# We're good; we have a nice linear ordering
next AFFECT;
} else {
my @intersection = $C->get_intersection;
if (@intersection > @sequentials) {
@sequentials = @intersection;
}
}
}
# Nondeterministic affect!
my @nondeps = List::Compare->new(\@node_ids, \@sequentials)->get_unique;
$nondep_affects{$affect} = {
sequentials => \@sequentials,
nondeps => \@nondeps,
};
( run in 0.575 second using v1.01-cache-2.11-cpan-39bf76dae61 )