Algorithm-Odometer-Tiny
view release on metacpan or search on metacpan
lib/Algorithm/Odometer/Tiny.pm view on Meta::CPAN
Here are some other implementations of the Cartesian product,
although they may not produce items in the same order as this module.
Note that if you want speed, XS-based implementations such as
L<Math::Prime::Util|Math::Prime::Util> or L<Set::Product::XS|Set::Product::XS>
are probably going to be fastest.
=over
=item *
Perl's L<glob|perlfunc/glob> can produce a Cartesian product, if
non-empty braces are the only wildcard characters used in the pattern.
=item *
L<Algorithm::Loops|Algorithm::Loops>'s C<NestedLoops>
=item *
L<List::Gen|List::Gen>'s C<cartesian>
which should have been distributed with your copy of Perl.
Try the command C<perldoc perlartistic> or see
L<http://perldoc.perl.org/perlartistic.html>.
=cut
use FindBin ();
use lib $FindBin::Bin;
use Algorithm_Odometer_Tiny_Testlib;
use File::Spec::Functions qw/ updir catfile abs2rel catdir /;
use File::Glob 'bsd_glob';
our ($BASEDIR,@PODFILES,@PERLFILES);
BEGIN {
$BASEDIR = catdir($FindBin::Bin,updir);
@PERLFILES = (
catfile($BASEDIR,qw/ lib Algorithm Odometer Tiny.pm /),
catfile($BASEDIR,qw/ lib Algorithm Odometer Gray.pm /),
bsd_glob("$FindBin::Bin/*.t"),
bsd_glob("$FindBin::Bin/*.pm"),
);
@PODFILES = @PERLFILES;
}
use Test::More $AUTHOR_TESTS ? ( tests => @PODFILES + 2*@PERLFILES + 2 )
: (skip_all=>'author tests (set $ENV{ALGORITHM_ODOMETER_TINY_AUTHOR_TESTS} to enable)');
use Test::Perl::Critic -profile=>catfile($FindBin::Bin,'perlcriticrc');
use Test::MinimumVersion;
use Test::Pod;
( run in 1.190 second using v1.01-cache-2.11-cpan-49f99fa48dc )