Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
import Algorithm::Combinatorics into github
- Loading branch information
Showing
28 changed files
with
3,204 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,174 @@ | |||
Revision history for Algorithm-Combinatorics | |||
|
|||
0.25 Nov 30 2007 | |||
|
|||
* Improved speed of subsets() copying the algorithm in List::PowerSet. | |||
|
|||
0.24 Jul 14 2007 | |||
|
|||
* Added subsets(). | |||
|
|||
0.23 May 19 2007 | |||
|
|||
* We do not longer assume indices com to XS as IVs, that broke | |||
partitions() in 5.6.2. | |||
|
|||
* Small touches to the code. | |||
|
|||
* Added a few tests. | |||
|
|||
0.22 May 15 2007 | |||
|
|||
* The previous release was built with Apple's version of tar, which | |||
adds some custom extra files that prevent building the module in some | |||
systems. I built this one with GNU tar. | |||
|
|||
0.21 May 14 2007 | |||
|
|||
* Added a directory with some benchmarks. | |||
|
|||
* A maintenance release to indicate the module is maintained. | |||
|
|||
0.20 June 6 2006 | |||
|
|||
* Jumped version to 0.2x. | |||
|
|||
* Added pointer to Sloane's encyclopedia for the sequence of | |||
numbers of circular permutations | |||
|
|||
* Added complete_permutations(). | |||
|
|||
* Simplified explanation of circular permutations. | |||
|
|||
|
|||
0.16 June 5 2006 | |||
|
|||
* Added circular_permutations(). | |||
|
|||
* Added some pointers to The On-Line Encyclopedia of Integer Sequences | |||
|
|||
* Added a few more tests for partitions(). | |||
|
|||
|
|||
0.15 May 23 2006 | |||
|
|||
* Added partitions(). | |||
|
|||
* Added some comments. | |||
|
|||
|
|||
0.14 December 19 2005 | |||
|
|||
* Small rewordings in POD. | |||
|
|||
* Added TAOCP Vol 4, Fasc 3 to REFERENCES. | |||
|
|||
* Added tuples* as alias to variations* to add the nomenclature | |||
in Knuth's, Mathematica, etc. to the interface. | |||
|
|||
* Code cleanup. | |||
|
|||
|
|||
0.13 November 20 2005 | |||
|
|||
* Added derangements(), code, tests, and docs. | |||
|
|||
* Benchmarked permutations() against permutations() with loop | |||
variables declared as registers. No measurable difference. | |||
|
|||
* Removed "install" from the cpan(1) example in README. | |||
|
|||
0.12 November 13 2005 | |||
|
|||
* DESCRIPTION was reworded. | |||
|
|||
* Refactored as regular XS-based module. | |||
|
|||
0.11 November 8 2005 | |||
|
|||
* CPAN.pm does not resolve the dependency with Inline before | |||
Makefile.PL is executed, and it fails to generate the Makefile | |||
because the module Inline::MakeMaker is not found. Due to this | |||
ExtUtils::MakeMaker is back. | |||
|
|||
0.10 November 6 2005 | |||
|
|||
* permutations() has been edited to match Algorithm L from [1] | |||
|
|||
* Added REFERENCES to POD | |||
|
|||
* Added a workaround to Makefile.PL for "No rule to make target | |||
... needed by `pure_all'" so that the Makefile generated by | |||
Inline::MakeMaker's WriteInlineMakefile() works, and thus the | |||
C part behaves like a plain XS extension instead of generating | |||
caches on the user machine | |||
|
|||
0.08 November 6 2005 | |||
|
|||
* Changed hyphens in test filenames with underscores | |||
|
|||
* The module is known to run under 5.6.2, so the corresponding | |||
use VERSION has been added | |||
|
|||
* variations(\@data, $k) is delegated to permutations(\@data) for | |||
@data == $k, since permutations() is more efficient | |||
|
|||
* Changed AV* in signatures to SV* plus a cast (SV*) SvRV(array) due | |||
to problems reported regarding AVPtrs. I copied the trick from the | |||
Changes of Digest::SHA. (Thanks to Aaron Dalton for reporting the | |||
problem.) | |||
|
|||
* variations() is much better, almost twice as fast and does not | |||
create SVs | |||
|
|||
0.07 November 5 2005 | |||
|
|||
* Documented the corresponding formulas | |||
|
|||
* Slicing is done now in Perl. The code is much more clear and in my | |||
benchmarks no significant difference is measured | |||
|
|||
* The iterator now may receive an initial arrayref (this is private | |||
implementation), which simplifies the set up of the iterator when | |||
the first tuple is known | |||
|
|||
0.06 November 5 2005 | |||
|
|||
* permutations() is about 3-4 times faster | |||
|
|||
0.05 November 4 2005 | |||
|
|||
* Rewrote the test suite, and relevant documentation | |||
|
|||
* Added the helper module t/Tester.pm to factor out a common test | |||
code pattern | |||
|
|||
* If k is "out of natural range"" the empty set is returned and a | |||
warning is issued | |||
|
|||
* The iterators return an arrayref, and the implementation was | |||
revised accordingly to be mathematically correct in edge-cases and | |||
more forgiving | |||
|
|||
* I can't stand that DIAGNOSTICS::Errors section, so many croaks on | |||
boundary conditions are so unperlish! The module has just a couple | |||
of days so I am on time to fix this | |||
|
|||
0.02 November 3 2005 | |||
|
|||
* README revised | |||
|
|||
* DEPENDENCIES added to POD | |||
|
|||
* DIAGNOSTICS added to POD | |||
|
|||
* VERSION added to POD | |||
|
|||
* Added some code documentation | |||
|
|||
* Minor tweaks on the XS code | |||
|
|||
0.01 November 2 2005 | |||
|
|||
* First version, released on an unsuspecting world. | |||
|
Oops, something went wrong.