コード例 #1
0
        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());
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: MintPlayer/QuineMcCluskey
        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();
            }
        }