Algorithm-Networksort-Chooser
view release on metacpan or search on metacpan
$ algorithm-networksort-chooser 9 --algorithms=batcher,bitonic ## only consider batcher and bitonic algos
$ algorithm-networksort-chooser 9 --opt=comparators ## optimise for comparators (default)
$ algorithm-networksort-chooser 9 --opt=stages ## optimise for stages
$ algorithm-networksort-chooser 9 --opt=swaps ## optimise for average swaps
$ algorithm-networksort-chooser 9 --median ## best median network
$ algorithm-networksort-chooser 9 --selection=4 ## also best median network
$ algorithm-networksort-chooser 9 --selection=0,1,2 ## top-3 elements selection net
$ algorithm-networksort-chooser 9 --validate ## run 0-1 validation test
$ algorithm-networksort-chooser 9 --show ## show network as ASCII diagram
$ algorithm-networksort-chooser 9 --raw ## show network as raw comparators
DESCRIPTION
This module uses Algorithm::Networksort to experiment with sorting
networks.
Introduction To Sorting Networks
<http://hoytech.github.io/sorting-networks/>
bin/algorithm-networksort-chooser view on Meta::CPAN
use Getopt::Long;
use Algorithm::Networksort::Chooser;
my @opt_spec = (
'opt=s',
'median',
'selection=s',
'all',
'validate',
'show',
'raw',
'algorithms=s',
'swap-mode=s',
'help|h|?',
);
my $opt = {
'opt' => 'comparators',
'swap-mode' => 'zero-one',
bin/algorithm-networksort-chooser view on Meta::CPAN
Pod::Perldoc->run();
}
my $network_size = shift || die "need network size";
die "unknown swap-mode: $opt->{'swap-mode'}"
if $opt->{'swap-mode'} ne 'zero-one' && $opt->{'swap-mode'} ne 'permutation';
die "validate not implemented yet" if $opt->{validate};
#### Generate candidate networks
my @algos;
if ($opt->{algorithms}) {
@algos = split ',', $opt->{algorithms};
} else {
bin/algorithm-networksort-chooser view on Meta::CPAN
$ algorithm-networksort-chooser 9 --algorithms=batcher,bitonic ## only consider batcher and bitonic algos
$ algorithm-networksort-chooser 9 --opt=comparators ## optimise for comparators (default)
$ algorithm-networksort-chooser 9 --opt=stages ## optimise for stages
$ algorithm-networksort-chooser 9 --opt=swaps ## optimise for average swaps
$ algorithm-networksort-chooser 9 --median ## best median network
$ algorithm-networksort-chooser 9 --selection=4 ## also best median network
$ algorithm-networksort-chooser 9 --selection=0,1,2 ## top-3 elements selection net
$ algorithm-networksort-chooser 9 --validate ## run 0-1 validation test
$ algorithm-networksort-chooser 9 --show ## show network as ASCII diagram
$ algorithm-networksort-chooser 9 --raw ## show network as raw comparators
=head1 DESCRIPTION
This module uses L<Algorithm::Networksort> to experiment with sorting networks.
L<Introduction To Sorting Networks|http://hoytech.github.io/sorting-networks/>
( run in 0.531 second using v1.01-cache-2.11-cpan-a5abf4f5562 )