Algorithm-QuineMcCluskey

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	  all 0s in the truth table) causes a cover of all dc characters,
	  which returns "()" for solve(). That's a little unhelpful, so
	  check for that and return either a "(1)" or "(0)".
0.12
     2016-10-8
	- In BUILD, limit 'vars' to the number of variables actually needed.
	- With that change, remove array slice of 'vars' in other parts of
	  the code.
	- Add an 'order_by' attribute (undocumented for now) for use in
	  to_boolean().
	- Removed an unnecessary loop in to_boolean().
	- Corrected the sorting in the get_covers() example.
	- Update comments and Smart Comments.

0.11
     2016-8-25
	- Add method all_solutions(). Update the POD concerning using
	  get_covers() to refer to all_solutions().
0.10
     2016-7-20
	- Check to see if the terms (minterms, maxterms, or
	  dont-cares) are larger than 'width' in bit size.
	  It's possible I made that mistake myself recently.
	- And although it's not an error, run the terms through
	  sort and uniq before converting to bitstrings. It
	  makes visual inspection of the debug output easier.
0.09
     2016-6-27
	- Found a case where don't-care terms with no covers
	  were nonetheless included with the prime implicants.
	  Fixed by changing a map{}-everything-will-work into
	  a loop with an if statement to check for that.
	- New test file 25-solve.t (Rock Paper Scissors) that
	  covers the above problem.
	- Streamlined the bit term functions, and added some
	  more 'smart' comments to show the bit terms.
	- Added a release_status key to the Build.PL hash.
0.08
     2016-4-21
	- Changed a "sum map" to a "scalar grep" in countels(),
	  and inlined the diffposes() code in hdist() and diffpos().
	  This let us eliminate the last cases of calling sum().
	- These changes, along with using the any() function from
	  List::MoreUtils instead of List::Util, mean that we don't
	  need to load List::Util anymore.
	- Edited Build.PL add 'provides' and 'add-to-cleanup' keys;
	  bumped the min version requirement of List::MoreUtils to 0.401;
	  Removed List::Util and bumped the dist version.
	- Module now at version 0.08.
0.07
     2015-8-14
	- List::MoreUtils wasn't in the list of required modules
	  in Build.PL. Added it.
	- The description of get_covers() in the documentation
	  wasn't enough. Extended the example.
	- Bump the version to 0.07.
0.06
     2015-8-1
	- The changes of 2015-5-30 mean that the check for an empty
	  array in row_dominance() isn't needed anymore.
	- Use a simple join() in uniqel() instead of Data::Dumper.
	- Remove Data::Dumper from 'requires' key in Build.PL.
	- Bumped Version everywhere to 0.06; up to CPAN.
0.05
     2015-7-29
	- Documented methods get_primes(), get_essentials(), and
	  get_covers().
	- Changed attribute essentials from HashRef to ArrayRef.
	  It makes get_essentials() a bit more useful.
	- Renamed tableform() function to chart().
	- Updated README to current status of the API.
	- Version 0.05 now, and up to CPAN.
0.04
     2015-6-13
	- The build-and-break-a-columnstring mechanism for making
	  complements and duals of the object was clear but involved
	  using extra memory, potentially a lot. Removed that and
	  use the get_complement() function of List::Compare::Functional
	  instead.
	- I hadn't listed namespace::autoclean in the dependency list
	  in Build.PL, and I am hearing about it from the testers.
	- Similarly, some testers have a List::Utils module that's older
	  than October 2013, when any() was introduced. Specified version
	  1.35 in Build.PL to be safe.
	- Bump everthing's version up to 0.04. Up to CPAN.
0.03
     2015-6-12
	- The minimum perl required was 5.10.1, but the module
	  was using the /r modifier on the tr// operator, which
	  doesn't appear until 5.14. Oops. Changed the string
	  assignment order in dual() and complement().
	- Version goes to 0.03, and up to CPAN.
0.02
     2015-6-11
	- Realized that the maskmatcher regex could be changed to
	  not require the don't-care character, which means it doesn't
	  need to be in the parameter list of maskmatcher(),
	  purge_elements(), or remels().
	- Renamed maskmatcher() maskedmatch(), because the grammar
	  was bugging me.
	- With that, Version 0.02 is ready for CPAN.
     2015-6-3
	- Util.pm now has an %EXPORT_TAGS.
	- Change the covers attribute to contain all of the minimal
	  covers, not just the one that happens to be in the zeroth
	  position in the covers array.
	- Change solve() to return a scalar.
	- With solve() now returning a scalar, change tests to look
	  for an answer in a set of possible answers (some terms sets
	  can be covered by more than one equation.)
     2015-5-30
	- Make remels() remove the hash key if the array ref is empty.
	- Change columns() to not auto-create empty keys.
     2015-4-18
	- Made the primes attribute "lazy", so that one can look
	  up prime implicants without going through the solving
	  process.
     2015-4-15
	- Replace row_dom() and col_dom() with row_dominance()
	  in Util.pm. When they were changed to returning keys
	  instead of deleting from the hash immediately, they
	  became essentially the same function, just called



( run in 1.350 second using v1.01-cache-2.11-cpan-39bf76dae61 )