Acme-Siteswap
view release on metacpan or search on metacpan
lib/Acme/Siteswap.pm view on Meta::CPAN
sub _max_throw {
my ($throws) = @_;
my $max_throw = reduce {
my $a_1 = ( ref $a eq 'ARRAY' ? max(@$a) : $a );
my $b_1 = ( ref $b eq 'ARRAY' ? max(@$b) : $b );
$a_1 >= $b_1 ? $a_1 : $b_1;
} @$throws;
# if our pattern is a 1-length multiplex pattern,
# reduce returns the first element, so correct for
# that here
$max_throw = max(@$max_throw) if ref $max_throw eq 'ARRAY';
return $max_throw;
}
# extend the pattern by the number of throws equal to the biggest
# throw in the pattern, to ensure that every throw in the pattern
# lands at least once.
( run in 0.579 second using v1.01-cache-2.11-cpan-65fba6d93b7 )