💡 The Quine-McCluskey algorithm implemented in C# 7 (.NET Core)
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Algorithm.CLI
Algorithm.Tests
Algorithm
.gitignore
LICENSE
Quine-McCluskey.sln
README.md
document.pdf

README.md

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