Algorithm-Networksort
view release on metacpan or search on metacpan
Tue Nov 13 2012
- Long-running tests now check for $ENV{AUTHOR_TESTING} = 1,
and skip if it doesn't.
Tue Nov 6 2012
- Worked on bitonic() code. Use existing pack/unpack code to
determine power-of-two value, this replaces the
greater_power_of_2_less_than() function.
- Made loop a little more perlish by using the '..' operator.
- Added 'bitonic' to the keyword list.
- Added a get_options parameter in Build.PL. Looking towards
an option to automatically skip long-running tests in
non-development situations.
Tue Oct 30 2012
- Fall-back algorithm for 'best' option is now Batcher's Merge
Exchange algorithm instead of Bose-Nelson.
- Checks for $inputs < 2 in the algorithm functions are pointless
since the calling, exported function already checks for it.
- "use integer" means that int($n/2) may be written more simply
as $n/2.
Sat Oct 27 2012
- Added two new 'best' networks for input sizes 18 and 22,
discovered by Sherenaz Waleed Al-Haj Baddar and submited
by Doug Hoyte.
- Added the bitonic() code and test file as provided by Doug Hoyte.
Thu Oct 25 2012
- New function nw_sort_stats() to return information about
sorting network exchange counts (based on Doug Hoyte's
idea) and other future ideas.
1.24
Sun Oct 14 2012
- Emergency change to svg.t -- I'm doing something wrong in
the tests, so for now they are skip()ped.
1.23
Thu Oct 11 2012
- Doug Hoyte requested the addition of the sorting network
equivalent of the bubble sort, for demonstration purposes
only, and sent a patch to implement it and a test file to
add to the t/ directory. Free code is hard to turn down,
even if it is for bubble sort.
Tue Oct 2 2012
- Added a new test, svg.t. It is modeled on pod.t, and uses
Test::XML::Easy. If I had had it as part of the tests
before, I wouldn't have let the badly merged code in the
earlier versions get released.
1.22
Sun Sep 30 2012
- Something odd happened to the SVG code post version 1.08,
leading to unparsable output (could be the result of the
hardware failure, could be merge error on my part).
Took the SVG graph code from version 1.08, and re-applied
the changes to the graph code between then and version 1.21.
The graphs come out correctly now.
Fri Sep 28 2012
- Took horizontal and vertical coord code out of nw_eps_graph()
and nw_svg_graph(), and made them into their own functions.
- I really had an odd style for initializing variables from @_
back in 2003. Made it less odd.
- Small inefficiency with the column count in nw_text_graph() fixed.
1.21
Sun Sep 24 2012
- Added color debugging code in eg/svg.pl (it lists the
color settings in XML comments).
- Updated eg/text.pl to take command line options.
- Moved graph and text option handling to their own functions,
graph_segment() and text_segment(), for future non-messy coding.
Fri Sep 22 2012
- Removed prototypes.
- Found and removed some left-over marker code in the SVG output.
- Moved SVG graph color code to its own function, svg_color().
Mon Sep 10 2012
- Modernized parts of the code -- $VERSION is now an 'our'
variable instead of a 'use VARS' variable, for example.
- Added 'create_license => 1' to the Build.PL list of attributes.
- Added 'dynamic_config => 0' to the Build.PL list of attributes.
- Added LICENSE to the MANIFEST file.
- Yanked an "$flag_internal" variable (and its debugging code)
in favor of Smart::Comments.
- Bumped the $VERSION value up a point.
1.20
Sun May 20 2012
- Really bad bug introduced in version 1.08 (text graph
options were checked for in the wrong hash) has been squashed.
1.10
Wed Mar 28 2012
- Finally organized changes (I had a hardware failure), and updated
the MANIFEST file to include the new JSON formatted META files.
Ready for release to CPAN.
Tue Jan 31 2012
- Perl version requirement changed to 5.8.3 (from 5.6.0). Support
for 5.6.0 in various perl development tools is being dropped,
and 5.8.3 seems to be a safe minimum, at least for the current
year. Change made in Build.PL and Networksort.pm.
- Changed "repository" key in Build.PL from a hash to a string,
as seems to be currently required under the version of
Module::Build that I'm developing with (the hash form looks
to be for a later version that I cannot install yet).
Tue Jan 11 2011
- Found an error in the SYNOPSIS portion of the POD. Function
nw_format() had an incorrect argument.
Thu Sep 23 2010
- Experimented by adding a 'keywords' hash to Build.PL. We'll see if I
did it correctly.
Wed Sep 15 2010
- Update the references. Joe Celko's article in dbazine.com is gone
(dbazine.com seems to be under new ownership), but he used the
same material in the third edition of his book, so I refer to
that now. Dr. Batcher's web site at Kent State has changed slightly,
making a change in the links necessary.
1.09 Sat May 22 2010
- Error in POD snuck in. While I was fixing this, added some more
documentation on group options.
- Added another choice for "grouping" in nw_comparators().
1.08 Mon May 17 2010
- Added an option to nw_comparators() as a result of a communication by
Daniel Stutzbach. Up until now, nw_comparators simply returned the
comparator in the order that the algorithms created them. Daniel
Stutzbach pointed out that these were often not in the best order and
would cause a super-scalar pipeline to stall. He also pointed out that
just reading the list of comparators grouped for graphing removes that
problem (the function that arranges them for graphing, nw_group(), does
in fact "parallelize" the comparators so that they'll look nice on the
graph). So there's now an option to re-group the list. It's not the
default because the default behavior has been there since the beginning
of the module.
See the documentation for nw_comparator() for more information.
- Undid use of mark attributes for SVG graphing. Too many inconsistencies
between different SVG viewers for me to be sure that I'm doing the right
thing.
- While undoing that change, simplified the code that generates the
group/color attributes. I decided that individually assigning the
color attribute to each element was probably a less error-prone mechanism.
- Updated svg.pl and eps.pl in the eg directory to make use of the
color options.
- Fixed the nw_group() example. It was using the default 'bosenelson'
algorithm, but the output was from the 'batcher' algorithm. Oops.
- Added grouping.pl to the eg directory.
( run in 0.712 second using v1.01-cache-2.11-cpan-796a6f069b2 )