From 94d261906570f5528256e2ddceaa4a8822398efe Mon Sep 17 00:00:00 2001 From: jwansek Date: Tue, 9 Feb 2021 23:48:23 +0000 Subject: updated readme --- README.md | 16 ++++++++++++++++ src/qm.c | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8602009..249eb3c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,18 @@ # Quine-McCluskey An implementation of the Quine-McCluskey algorithm to simpily a DNF written in C + +## How it works: +1. Parse the input (the sum of products) into a format we can use, nested structs +2. Create the simplification table of minterms +3. Merge minterms if possible, marking them if merged +4. Keep merging until we can't any more +5. Get what we couldn't merge, the 'Prime Implicants'- this is the output + +## Example +`./quineMcCluskey -C-B-A + -CB-A + C-B-A + CB-A + CBA` + +`-A + CB` + +(Alternative output format:) + +`A v (C ∧ B)` diff --git a/src/qm.c b/src/qm.c index 2b3677a..edf1c8c 100644 --- a/src/qm.c +++ b/src/qm.c @@ -13,6 +13,8 @@ int main(int argc, char* argv[]) { } DNF startDNF = parseDNFStr(argv[1]); + printForm(&startDNF); + printForm2(&startDNF); SimplifiedTableItem simplifiedTable[startDNF.numTerms]; unsigned int simplifiedTableLength = startDNF.numTerms; setupMergeTable(simplifiedTable, &startDNF); @@ -209,4 +211,4 @@ void printForm2(const DNF* form) { } } printf("\n"); -} \ No newline at end of file +} -- cgit v1.2.3