Algorithm-QuineMcCluskey
view release on metacpan or search on metacpan
Revision history for Algorithm-QuineMcCluskey
1.01
2019-12-03
- Debug changes only, does not affect the operation of the
non-debug code:
Smart comments had some obsolete variables that are now
changed. The chart() function, used by Smart comments, made
use of firstidx(), which was provided by a module that is no
longer included. Changed the code in chart() to use the any()
function from List::Util instead.
- Minor correction to README.md.
1.00
2019-02-10
- Moved the formatting functions to_boolean() and
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.
now.
2015-1-18
- Removed sortterms attribute -- always sort.
- Simplified covers loop (helped by removing sortterms).
- Moved a constant calculation of the %reduced hash out
a loop.
2015-1-16
- New function tableformat() (current name, at least) to show
primes hash in the table form used in textbook Quine-McCluskey
descriptions. Should help users understand what's going on,
and help in debugging too.
- New module to contain tableforms() (and future functions),
named it Algorithm::QuineMcCluskey::Format.
- Do-while using is_LequivalentR() was supposed to be comparing
hash keys, but a 'keys' had been left off on one side.
Fixing that saves at least one loop.
- Avoid calling recurse_solve() if the reduced primes hash is
empty.
2015-1-6
- Added new object-creating methods dual() and complement().
- Added tests for the new methods.
substitution code in case someone chose a substitution
metacharacter as their don't-care character.
2014-11-26
- Was looping around remel() for each arrayref in the hash.
Now just pass the hash in directly (this necessitated
changing one of the outer loops in purge_essentials,
and remel() becomes remels()).
2014-11-13
- The test with don't-care terms randomly fails two thirds
of the time. Separate it into its own file, and add
debugging statements.
2014-11-4
- Extended the object test to consider minterms, maxterms,
and columnstrings methods of creation.
- deAlias considered finished and merged into the master
branch.
2014-10-31
- Added columnstring attribute, and wrote bitstring code
for setting and getting it.
- Changed minterms, maxterms, and dontcares back to
( run in 0.967 second using v1.01-cache-2.11-cpan-49f99fa48dc )