1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
|
Revision history for Algorithm-Combinatorics
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.
|