예제 #1
0
        internal override Automaton <IMonadicPredicate <BDD, T> > GetAutomatonX(SimpleList <Variable> variables, ICartesianAlgebraBDD <T> alg, bool singletonSetSemantics)
        {
            var pos1 = GetVarIndex(var1, variables);
            var pos2 = GetVarIndex(var2, variables);

            if (singletonSetSemantics)
            {
                return(BasicAutomata.MkMax1 <T>(pos1, pos2, alg));
            }
            else
            {
                return(BasicAutomata.MkMax2 <T>(pos1, pos2, alg));
            }
        }
예제 #2
0
        internal override Automaton <BDD> GetAutomatonBDD(SimpleList <Variable> variables, IBDDAlgebra alg, int nrOfLabelBits, bool singletonSetSemantics)
        {
            var pos1 = GetVarIndex(var1, variables);
            var pos2 = GetVarIndex(var2, variables);

            if (singletonSetSemantics)
            {
                return(BasicAutomata.MkMax1(pos1 + nrOfLabelBits, pos2 + nrOfLabelBits, alg));
            }
            else
            {
                return(BasicAutomata.MkMax2(pos1 + nrOfLabelBits, pos2 + nrOfLabelBits, alg));
            }
        }