Changes for version 1.00

  • 2019-02-10
    • Moved the formatting functions to_boolean() and to_boolean_term() over to Logic::Minimizer. Tie::Cycle is no longer used, and gets removed from the build requirement in Build.PL.
    • README is now README.md.
    • With Logic::Minimizer finally released yesterday, it's time to send this off to CPAN.
  • 2018-10-06
    • Removed the terms parameter from find_essentials(), covered_least(), and row_dominance(), which we already had in other structures. This shortened the loops and reduced the number of loop structures needed. Another speed-up.
  • 2018-09-29
    • Replace columns(), a function that rotated the primes hash using grep and any(), with new function transpose(), which does the same thing using hash keys, and which NYTProf says is faster.
  • 2018-08-30
    • Examining remels() more closely, it became obvious that it was using maskedmatch() as an block argument to indexes() for every single term against every single element three loops deep. Since maskedmatch() has a set-up cost, this seems wasteful. Created a new function maskedmatchindexes(), which sets up the masks before going through the list once.
    • Which means we no longer are using the indexes() function from List::MoreUtils, which is now removed.
  • 2018-08-29
    • We now use Logic::Minimizer as a base class.
    • Consequently, removed attributes and methods that are now in Logic::Minimizer, and are provided automatically.
    • Use L::M's catch_errors() for attribute validation.
    • Update Build.PL with Logic::Minimizer requirement.
    • And updated the version number everywhere.

Modules

solve Quine-McCluskey set-cover problems
provide formatting functions to Algorithm::QuineMcCluskey
provide utility functions to Algorithm::QuineMcCluskey