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)); } }
internal override Automaton <BDD> GetAutomatonBDD(SimpleList <Variable> variables, IBDDAlgebra alg, int nrOfLabelBits) { var pos1 = variables.IndexOf(var1); var pos2 = variables.IndexOf(var2); if (pos1 < 0) { throw new ArgumentOutOfRangeException("variables", string.Format("does not contain {0}", var1)); } if (pos2 < 0) { throw new ArgumentOutOfRangeException("variables", string.Format("does not contain {0}", var2)); } var aut = BasicAutomata.MkMax2(pos1 + nrOfLabelBits, pos2 + nrOfLabelBits, alg); return(aut); }