A C# implementation of the Quine-McCluskey algorithm for boolean expression minimization.
Includes a class library for the algorithm, unit tests, and a console application for testing expressions via stdin.
This implementation is based on pages 1 through 8 of the QM Document by Dr. Nicholas Outram.
It does not include:
- Simplification of 'dont-care' terms from the beginning
- Simplifications with multiple solutions
- Prime implicant charts or coverage tables
Running the CLI
git clone email@example.com:bcanseco/quine-mccluskey.git qm
Running the Tests
The main thing I see that could be improved is refactoring Expression and Composite Minterm to be one class. Pull requests are welcome! I have put both inline comments and XML documentation throughout the solution to assist with development.