예제 #1
0
        public override Automaton <BDD> Optimize()
        {
            if (not != null)
            {
                return(not);
            }

            if (!Expr.CanBeOptimized())
            {
                throw new AutomataException(AutomataExceptionKind.AutomataConversionFailed);
            }

            not = Expr.Optimize().Complement();
            return(not);
        }
예제 #2
0
 /// <summary>
 /// Returns true if Expr can be optimized
 /// </summary>
 /// <returns></returns>
 public override bool CanBeOptimized()
 {
     return(Expr.CanBeOptimized());
 }