예제 #1
0
        public static BVAlgebra Create(CharSetSolver solver, BDD[] minterms)
        {
            var dtree         = DecisionTree.Create(solver, minterms);
            var partitionBase = Array.ConvertAll(minterms, m => solver.ToRanges(m));
            var partition     = Array.ConvertAll(partitionBase, p => new IntervalSet(p));

            return(new BVAlgebra(dtree, partition));
        }
예제 #2
0
        public static BV64Algebra Create(CharSetSolver solver, BDD[] minterms)
        {
            if (minterms.Length > 64)
            {
                throw new AutomataException(AutomataExceptionKind.NrOfMintermsCanBeAtMost64);
            }
            var dtree         = DecisionTree.Create(solver, minterms);
            var partitionBase = Array.ConvertAll(minterms, m => solver.ToRanges(m));
            var partition     = Array.ConvertAll(partitionBase, p => new IntervalSet(p));

            return(new BV64Algebra(dtree, partition));
        }