/* * Generate sample TruthTable for the variables */ public TruthTable(char[] variables, Node root) { if (root != null) { Variables = variables; VariablesCount = variables.Length; Proposition = root; CombinationsCount = 1 << VariablesCount; RowsString = GenerateNewTruthTable(); Simplified = Simplify(GetRowsMerged()); } }
private void ShowSimplifiedTruthTable(TruthTable tt) { lbSimplifiedTruthTable.Items.Clear(); foreach (string row in tt.Simplified.RowsString) { lbSimplifiedTruthTable.Items.Add(row); } tbBinHashSimplified.Text = tt.Simplified.BinHashValue; tbHexHashSimplified.Text = tt.Simplified.HexHashValue; TruthTable simplifiedNandifiedTruthTable = new TruthTable(parser.Variables, tt.Simplified.Proposition.Nandify()); lbInfo.Items.Add("NAND simplified hex: " + simplifiedNandifiedTruthTable.HexHashValue); }
private void ShowTruthTableDNF(TruthTable original, TruthTable simplified) { Node originalDNF = original.CreateDNF(); if (originalDNF != null) { tbDNFPrefix.Text = originalDNF.ToPrefixString(); tbDNFInfix.Text = originalDNF.ToString(); TruthTable dnfTruthTable = new TruthTable(parser.Variables, originalDNF); lbInfo.Items.Add("Normal DNF hex: " + dnfTruthTable.HexHashValue); } Node simplifiedDNF = simplified.CreateDNF(); if (simplifiedDNF != null) { tbSimplifiedDNFPrefix.Text = simplifiedDNF.ToPrefixString(); tbSimplifiedDNFInfix.Text = simplifiedDNF.ToString(); TruthTable dnfSimplifiedTruthTable = new TruthTable(parser.Variables, simplifiedDNF); lbInfo.Items.Add("Simplified DNF hex: " + dnfSimplifiedTruthTable.HexHashValue); } }
private void ShowTruthTable() { TruthTable tt = new TruthTable(parser.Variables, n); lbTruthTable.Items.Clear(); foreach (string row in tt.RowsString) { lbTruthTable.Items.Add(row); } tbBinHash.Text = tt.BinHashValue; tbHexHash.Text = tt.HexHashValue; lbInfo.Items.Add("Normal hex: " + tt.HexHashValue); Node nandifiedExpression = tt.Proposition.Nandify(); TruthTable nandifiedTruthTable = new TruthTable(parser.Variables, nandifiedExpression); lbInfo.Items.Add("Nandified hex: " + nandifiedTruthTable.HexHashValue); tbNANDPrefix.Text = nandifiedExpression.ToPrefixString(); tbNANDInfix.Text = nandifiedExpression.ToString(); ShowSimplifiedTruthTable(tt); ShowTruthTableDNF(tt, tt.Simplified); }