public AddingBTransition(CoreDefinitions.IOptionalAutomaton optionalAutomaton, bool[] isVertInAcTab) { automata = optionalAutomaton; n = optionalAutomaton.TransitionFunctionsA.Length; isVertInAc = new bool[n]; for (int i = 0; i < n; i++) { isVertInAc[automata.TransitionFunctionsA[i]] = true; } }
public MakingFullAutomata(CoreDefinitions.IOptionalAutomaton optionalAutomata, List <byte>[] transFromA, List <byte>[] help) { automata = optionalAutomata; n = optionalAutomata.TransitionFunctionsA.Length; TransitionsFromA = transFromA; for (byte i = 0; i < n; i++) { TransitionsFromA[i].Clear(); } for (byte i = 0; i < n; i++) { TransitionsFromA[automata.TransitionFunctionsA[i]].Add(i); } helpList = help; for (int i = 0; i < n; i++) { helpList[i] = automata.TransitionFunctionsB[i] == CoreDefinitions.OptionalAutomaton.MissingTransition ? null : TransitionsFromA[automata.TransitionFunctionsB[i]]; } }
public static void PrintA(CoreDefinitions.IOptionalAutomaton automata) { PrintAPart(automata.TransitionFunctionsA); }