Revision history for Perl extension Algorithm::Networksort. 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 found (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. Wed Feb 10 2010 - Changed tag adding xmlns and viewBox attributes. * Change input and comparator lines to use mark attributes instead of separate geometric circles. - Added nw_algorithms() and nw_algorithm_name() functions, and documented them. - Updated the SVG output example and demo program in the eg directory. 1.07 Tue Feb 13 2007 - Bowed to convention and reversed the order of the Change entries. - SVG-aware browsers are better at parsing, which means that my output needs to be improved. Internet Explorer 7 and Firefox now parse without errors. I am not certain that the namespace option works well enough. - Changed the example that used the SVG output, which was based on an older version of the Adobe SVG plugin, and which is not current. - In the interests of code clarity, made use of q and qq operators instead of quotes and escaped quotes. - Split the test files even further. - SVG colors! - Embedded the [from, to] pairs in an xml comment before each svg command to draw comparators. Debugging aid. - Put a group tag around the SVG commands for the input line. 1.06 Sun Jan 16 2005 - Made some code changes to allow running this module under perl 5.005. - Added to the SEE ALSO section a link to Joe Celko's article in dbazine.com. Bose-Nelson in SQL! - Updated the link to Ian Parberry's article. Mon Mar 21 2005 - Removed a redundant check for an empty network in nw_format() in the default format section. Tue May 23 2006 - Changed arrangement of files to default layout by Module::Build. - Added the Meta.yml and Build.PL files. - Changed test files to use Test::Simple. Fri Jun 2 2006 - Added pod.t. - Typo fix in pod (itme instead of item). Fixed stale links. - It looks like the Forbes D. Lewis article, "Sorting Networks" has vanished altogether. Removed it from the See Also section. Wed Jul 26 2006 - Split the batcher.t, best.t, bn.t, and hibbard.t files into two. I'm trying to cut down the time-to-finish length, which some test environments don't handle well ("Is this test done yet? I'm bored.") Wed Sep 13 2006 - Added color components, although no actual colors are set yet except for 'foreground'. - Changed the text graph option names 'fromcomp' and 'tocomp' to 'compbegin' and 'compend' to make them consistant with the input line names 'inputbegin' and 'inputend'. These names get adopted by the color option hash. Fri Sep 15 2006 - SVG output now has colors. 1.05 Thu Jan 22 2004 - Missing namespace in ending tag for inputline definition. - For some reason, I took the input value for hibbard() and batcher() to be the bit count, and restricted it to 32. I claim tiredness and caffeine overload. The restriction is removed, and you could have an input of 2**32 if you want, although you'd be waiting a long time for a result. - Fixed L<> tags in the documentation. - In the eg directory, renamed svg.pl to svg00.pl, and added svg01.pl for the XHTML version. 1.04 Sun Dec 14 2003 - Added 'namespace' to the svg graphing options. Added it to the svg.pl script in the eg subdirectory. 1.03 Sat Dec 13 2003 - Added 'title' to the eps and svg graphing options. 1.02 Tue Dec 9 2003 - Little document formating errors bother me. - Another stupid error. Function nw_text_graph(), used by nw_graph(), was printing directly, not returning a string. It's an old function, that's how it originally was designed. - Added the graphing options (hz_margin, indent, etc.) to nw_graph(). - Merged in the nw_group_parallel() function (moved from parallel.pl in the eg subdirectory) into nw_group(), fairly painlessly as it turned out. 1.01 Sat Oct 25 2003 - Stupid error in my test scripts prevented them from reading the zero_one.pl file. Fixed. 1.00 Fri Oct 17 2003 - Released. 0.01 Fri Jan 24 23:55:59 2003 - original version; created by h2xs 1.21 with options -X -nAlgorithm::Networksort