public QuantumTuringMachineAbstract(IQuantumTuringMachineTape tape, IQuantumTuringMachineAlphabet alphabetinput, IQuantumTuringMachineAlphabet alphabetoutput, IQuantumTuringMachineSymbol symbolblank)
     : base()
 {
     _tape = tape;
     _head = QuantumTuringMachineFactory.GenerateQuantumTuringMachineHead();
     _alphabetinput = alphabetinput;
     _alphabetoutput = alphabetoutput;
     _symbolblank = symbolblank;
 }
 public static IQuantumTuringMachine GenerateQuantumTuringMachine(IQuantumTuringMachineTape tape, IQuantumTuringMachineAlphabet alphabetinput, IQuantumTuringMachineAlphabet alphabetoutput, IQuantumTuringMachineSymbol symbolblank)
 {
     return new QuantumTuringMachineBasic(tape, alphabetinput, alphabetoutput, symbolblank);
 }
 public QuantumTuringMachineBasic(IQuantumTuringMachineTape tape, IQuantumTuringMachineAlphabet alphabetinput, IQuantumTuringMachineAlphabet alphabetoutput, IQuantumTuringMachineSymbol symbolblank)
     : base(tape, alphabetinput, alphabetoutput, symbolblank)
 {
 }