Skip to content

helander/quine-mccluskey-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quine-mccluskey-js

Boolean logic optimizer

Copied from existing npm. The package.json in that npm has an incomplete "main" property. This component fixes this.

Original README content follows:

QM.js

A NodeJS project for simplifying logical expressions using the Quine-McCluskey Algorithm

How to Use

There are 2 different ways to get a simplified logical expression:

  • Minterm method
  • Maxterm method

Both methods will get you the same function but they differ by how they are connected together

  • A' + B' (Minterm method) is the exact same as AB (Maxterm method)

Note, however, that when you actually receive the simplified expressions, they will not be in boolean algebra.

For example, the above expressions would look like NOT A OR NOT B, A AND B. This is done to give you freedom to implement it as you see fit by simply replacing NOT with !, for example.

Minterm Method

f = new QuineMcCluskey("ABC", [4, 5, 6, 7]);
console.log(f.getFunction()); // --> A

g = new QuineMcCluskey("ABC", [3, 4, 5, 6, 7]);
console.log(g.getFunction()); // --> A + B*C

Maxterm Method

f = new QuineMcCluskey("ABC", [0, 1, 2, 3], [], true);
console.log(f.getFunction()); // --> A'

g = new QuineMcCluskey("ABC", [0, 1, 2], [], true);
console.log(g.getFunction()); // --> (A'+B')*(A'+C')

Note that the parameters for QuineMcCluskey are QuineMcCluskey(variables, values, dontCares = [], isMaxterm = false); Also, when using the maxterm method, do not forget to invert the values ([0, 1, 2, 3] becomes [4, 5, 6, 7]) or else you will get an incorrect simplified expression.

Using Don't Cares

f = new QuineMcCluskey("ABC", [0, 1], [4, 5, 6, 7]);
console.log(f.getFunction()); // --> B'

g = new QuineMcCluskey("ABCD", [0, 2, 4, 8, 12], [6, 10, 11, 14, 15]);
console.log(g.getFunction()); // --> D'

Feedback, Suggestions, Bugs

Any feedback, suggestions, or bugs can be mentioned in my Discord Server.

About

Boolean logic optimizer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published