Skip to content

bcanseco/quine-mccluskey

Repository files navigation

Quine-McCluskey.NET

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.

Limitations

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

  1. git clone git@github.com:bcanseco/quine-mccluskey.git qm
  2. cd qm/Algorithm.CLI
  3. dotnet restore
  4. dotnet run

Running the Tests

  1. cd ../Algorithm.Tests
  2. dotnet restore
  3. dotnet test

ToDo

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.

License

MIT