https://github.com/red-portal/quine-mccluskey
C++ Quine-Mccluskey Boolean Function Reduction Algorithm Implementation
https://github.com/red-portal/quine-mccluskey
Last synced: 3 months ago
JSON representation
C++ Quine-Mccluskey Boolean Function Reduction Algorithm Implementation
- Host: GitHub
- URL: https://github.com/red-portal/quine-mccluskey
- Owner: Red-Portal
- License: apache-2.0
- Created: 2017-05-04T10:19:22.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-23T09:55:41.000Z (almost 8 years ago)
- Last Synced: 2025-01-18T03:45:59.579Z (5 months ago)
- Language: C++
- Homepage:
- Size: 4.69 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Quine-Mccluskey Boolean Function Reducer
## Current version is under refactoring. IT DOESN'T WORK
## Introduction
Quine-Mccluskey algorithm C++ implementation.## How to use
```c++
#include "QM.hpp"auto reducer = QM::Reducer{inputSize, minTerms, dontCareTerms};
auto result = reducer.getBooleanfunction();
```QM::Reducer offers initialization by std::vector, std::initializer_list
the result is type is std::vector>.
uT is an unsigned integer type,
Because this implementation uses bit masking/shifting.* Each term in the boolean function are std::vector.
* Each variable in a boolean term is represented as an integer.
* The integer is the input number.
* Negative integer values are negative inputs.```
A B C is represented as 1 2 3
A'B'C is represented as -1 -2 -3
B C D' is represented as 2 3 -4
```## Dependency
* boost libraries
This library currently uses boost::dynamic_bitset.
No boost static library dependencies.
Thus only boost headers are required.
Because of boost cross-dependency, I recommend providing all of boost.## TODO
* further optimization