Currying Algorithm
This script implements the instance method for performing currying. Instance method provides a way to perform currying such that the curried function runs much faster than one produced by closure. Currying is an important technique to build callables on the fly and is well covered in other...
Platforms: Windows, Mac, *nix, Python, BSD Solaris
License: Freeware | Download (56): High-performance currying with instance method Download |
Algorithm::Dependency is a base class for implementing various dependency trees. SYNOPSIS use Algorithm::Dependency; use Algorithm::Dependency::Source::File; # Load the data from a simple text file my $data_source = Algorithm::Dependency::Source::File->new( foo.txt ); # Create the...
Platforms: *nix
License: Freeware | Size: 46.08 KB | Download (121): Algorithm::Dependency Download |
Algorithm::Knapsack is a brute-force algorithm for the knapsack problem. SYNOPSIS use Algorithm::Knapsack; my $knapsack = Algorithm::Knapsack->new( capacity => $capacity, weights => @weights, ); $knapsack->compute(); foreach my $solution ($knapsack->solutions()) { foreach my $index...
Platforms: *nix
License: Freeware | Size: 4.1 KB | Download (209): Algorithm::Knapsack Download |
Algorithm::DiffOld is a Perl module to compute `intelligent differences between two files / lists but use the old (<=0.59) interface. NOTE This has been provided as part of the Algorithm::Diff package by Ned Konz. This particular module is ONLY for people who HAVE to have the old interface,...
Platforms: *nix
License: Freeware | Size: 23.55 KB | Download (95): Algorithm::DiffOld Download |
Algorithm::Loops is a Perl module with looping constructs: NestedLoops, MapCar*, Filter, and NextPermute*. SYNOPSYS use Algorithm::Loops qw( Filter MapCar MapCarU MapCarE MapCarMin NextPermute NextPermuteNum NestedLoops ); my @copy= Filter {tr/A-Z.,"()/a-z/d} @list; my $string= Filter...
Platforms: *nix
License: Freeware | Size: 22.53 KB | Download (108): Algorithm::Loops Download |
Algorithm::Diff::Apply is a Perl module to apply one or more Algorithm::Diff diffs. SYNOPSIS ## Single-diff form: use Algorithm::Diff::Apply qw{apply_diff}; my @ary = ...; my @diff = ...; # some call to Algorithm::Diff::diff() my @changed_ary = apply_diff(@ary, @diff); my $changed_ary =...
Platforms: *nix
License: Freeware | Size: 12.29 KB | Download (92): Algorithm::Diff::Apply Download |
Parallel Genetic Algorithm Library (or PGAL for short) is a C++ toolkit for simply, efficiently, and swiftly producing genetic algorithm code that works across multiple processors. This is useful not only for those with multi-processor computers, but also for distributed and cluster computing...
Platforms: *nix
License: Freeware | Size: 75.78 KB | Download (218): Parallel Genetic Algorithm Library Download |
Algorithm::BinPack is a Perl module that can efficiently pack items into bins. SYNOPSIS Algorithm::BinPack efficiently packs items into bins. The bins are given a maximum size, and items are packed in with as little empty space as possible. An example use would be backing up files to CD,...
Platforms: *nix
License: Freeware | Size: 4.1 KB | Download (107): Algorithm::BinPack Download |
Perl6::Currying is a Perl 6 subroutine currying for Perl 5. SYNOPSIS use Perl6::Currying; sub add ($a,$b) { $a + $b } # Define a sub with named params print add(1,2); # Call it my $incr = &add.prebind(a=>1); # Bind the $a argument to 1 # to create an increment subroutine print...
Platforms: *nix
License: Freeware | Size: 5.12 KB | Download (89): Perl6::Currying Download |
Genetic Algorithm File Fitter, or just GAFFitter, is a command-line software written in C++ that arranges--via a genetic algorithm--an input list of items or files/directories into volumes of a certain capacity (target), such as CD or DVD, in a way that the total wastage is minimized. By smartly...
Platforms: *nix
License: Freeware | Size: 40.96 KB | Download (122): Genetic Algorithm File Fitter Download |
Algorithm::Permute is a Perl module with handy and fast permutation with object oriented interface. SYNOPSIS use Algorithm::Permute; my $p = new Algorithm::Permute([a..d]); while (@res = $p->next) { print join(", ", @res), "n"; } my @array = (1..9); Algorithm::Permute::permute { print...
Platforms: *nix
License: Freeware | Size: 10.24 KB | Download (108): Algorithm::Permute Download |
Algorithm::SISort is a Perl module that contains select and insert sorting algorithm. SYNOPSIS use Algorithm::SISort qw(Sort Sort_inplace); @sorted_list = Sort {$_[0] <=> $_[1]} @unsorted_list; # ... or ... $number_of_comparisons = Sort_inplace {$_[0] <=> $_[1]} @unsorted_list; This...
Platforms: *nix
License: Freeware | Size: 4.1 KB | Download (100): Algorithm::SISort Download |
Algorithm::Merge is a Perl module package that provides three-way merge and diff. SYNOPSIS use Algorithm::Merge qw(merge diff3 traverse_sequences3); @merged = merge(@ancestor, @a, @b, { CONFLICT => sub { } }); @merged = merge(@ancestor, @a, @b, { CONFLICT => sub { } },...
Platforms: *nix
License: Freeware | Size: 10.24 KB | Download (92): Algorithm::Merge Download |
Algorithm::Huffman is a Perl extension that implements the Huffman algorithm. SYNOPSIS use Algorithm::Huffman; my %char_counting = map {$_ => int rand(100)} (a .. z, A .. Z); # or better the real counting for your characters # as the huffman algorithm doesnt work good with random data...
Platforms: *nix
License: Freeware | Size: 8.19 KB | Download (110): Algorithm::Huffman Download |
Optimization Algorithm Toolkit is a workbench and toolkit for developing, evaluating, and playing with classical and state-of-the-art optimization algorithms on standard benchmark problem domains; including reference algorithm implementations, graphing, visualizations and much more. The project...
Platforms: *nix
License: Freeware | Size: 6.5 MB | Download (123): Optimization Algorithm Toolkit Download |
Algorithm::Networksort can create inline comparisons for sorting. SYNOPSIS use Algorithm::Networksort qw(:all); my $inputs = 4; # # Generate the network (a list of comparators). # my @network = nw_comparators($inputs); # # Print the list, and print the graph of the list. # print...
Platforms: *nix
License: Freeware | Size: 15.36 KB | Download (89): Algorithm::Networksort Download |
Algorithm::SocialNetwork is a social network analysis. SYNOPSIS use Graph::Undirected; use Algorithm::SocialNetwork; my $G = Graph::Undirected->new(); $G->add_edges([qw(a b)], [qw(b c)]); my $algo = Algorithm::SocialNetwork->new(graph => $G3); my $BC = $algo->BetweenessCentrality(); #...
Platforms: *nix
License: Freeware | Size: 9.22 KB | Download (104): Algorithm::SocialNetwork Download |
Algorithm::Diff is a Perl module to compute `intelligent differences between two files / lists. SYNOPSIS require Algorithm::Diff; # This example produces traditional diff output: my $diff = Algorithm::Diff->new( @seq1, @seq2 ); $diff->Base( 1 ); # Return line numbers, not indices...
Platforms: *nix
License: Freeware | Size: 33.79 KB | Download (93): Algorithm::Diff Download |
Algorithm::SixDegrees is a Perl module that can find a path through linked elements in a set. SYNOPSIS use Algorithm::SixDegrees; my $sd1 = Algorithm::SixDegrees->new(); $sd1->data_source( actors => &starred_in ); $sd1->data_source( movies => &stars_of ); @elems = $sd1->make_link(actors,...
Platforms: *nix
License: Freeware | Size: 11.26 KB | Download (94): Algorithm::SixDegrees Download |
Algorithm::Line::Bresenham is a Perl module that contains a simple pixellated line-drawing algorithm. SYNOPSIS use Algorithm::Line::Bresenham qw/line/; my @points = line(3,3 => 5,0); # returns the list: [3,3], [4,2], [4,1], [5,0] line(3,3 => 5,0, &draw_line); # calls draw_line on each...
Platforms: *nix
License: Freeware | Size: 3.07 KB | Download (140): Algorithm::Line::Bresenham Download |