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)); }
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)); }