public void BuildExpressionTree_Should_Create_ExpressionTree_From_PrefixExpression(List <int> minterms) { GC.Collect(); Stopwatch s2 = Stopwatch.StartNew(); var externalLibraryResult = QuineMcCluskeySolver.QMC_Solve(minterms, new int[] { }); s2.Stop(); TruthTable table = TruthTableHelpers.GenerateTruthTable(minterms); Stopwatch s1 = Stopwatch.StartNew(); var customLibraryResult = logic.ExpressionService.Common.QMC.QuineMcCluskey.SimplifyTable(table.Value); s1.Stop(); TestContext.Out.WriteLine(s1.ElapsedTicks); TestContext.Out.WriteLine(s2.ElapsedTicks); var helperSet = new HashSet <string>(); foreach (var pr in customLibraryResult) { helperSet.Add(pr.RowData); } foreach (var item in externalLibraryResult) { helperSet.Should().Contain(item.ToString()); } }
static void Main(string[] args) { var random = new Random(); var list = new List <int>(); for (int i = 0; i < 16; i++) { var num = random.Next(16); if (!list.Contains(num)) { list.Add(num); } } while (true) { var loops = QuineMcCluskeySolver.QMC_Solve(list, new int[] { }); Console.ReadKey(); } }