Revision history for Algorithm-Combinatorics
0.27 Feb 10 2012
*
No code changes, just copyright updates. Indicates also
the module is not abandoned.
0.26 Jan 28 2011
*
Fixes a memory leak in subsets(), thanks to Oliver Seeliger. [closes RT#65207]
*
Updates Copyright.
*
README documents now the module itself, better for GitHub.
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.