ConditionalController
class qiskit.passmanager.ConditionalController(tasks=(), condition=None, *, options=None)
Basen: BaseController[IR, IR]
Ein Flusscontroller führt die Pipeline einmal aus, wenn die Bedingung wahr ist, oder tut nichts, wenn die Bedingung falsch ist.
Diese Fernbedienung verfügt über denselben IR-Ein- und Ausgang.
Erstellen Sie einen neuen Flow Controller.
Parameter
- options (dict[str, Any] | None) – Option für diesen Durchflussregler.
- tasks (Task[IR, IR] | Iterable[Task[Any, Any]])
- condition (Callable[[PropertySet], bool] | None)
Attribute
passes
Alias von Aufgaben aus Gründen der Abwärtskompatibilität.
Methoden
execute
execute(passmanager_ir, state, callback=None)
Ausführen der Optimierungsaufgabe für die Eingabe Qiskit IR.
Parameter
- passmanager_ir (IR) – Qiskit IR zur Optimierung.
- state (PassManagerState) – Status, der mit der Ausführung des Workflows durch den Passmanager selbst verbunden ist.
- callback (Callable | None) – Eine Callback-Funktion, die bei jeder Ausführung der Optimierungsaufgabe aufgerufen wird.
Rückgabe
Optimierte Qiskit IR und Stand des Workflows.
Rückgabetyp
Tupel [ IR_OUT, PassManagerState ]
iter_tasks
iter_tasks(state)
Eine benutzerdefinierte Logik zur Auswahl der nächsten auszuführenden Aufgabe.
Die Controller-Unterklasse kann den Zustand nutzen, um eine geeignete Task-Pipeline aufzubauen. Der aktualisierte Zustand nach der Ausführung einer Aufgabe wird als "Rückgabewert" aller yield Anweisungen zurückgegeben. Dies bedeutet, dass die Reihenfolge der Aufgabenausführung erst zur Laufzeit festgelegt wird. Diese Methode darf das angegebene Zustandsobjekt nicht verändern.
Parameter
- state (PassManagerState) – Der Zustand des Passmanager-Workflows zu Beginn der Ausführung dieses Ablaufsteuerers.
- state - der Zustand des Pass Managers nach der Ausführung der letzten Aufgabe, die abgegeben wurde. Der Generator braucht dies nicht zu prüfen, wenn es für seine Logik irrelevant ist, und es auch nicht zu aktualisieren.
Ergiebigkeit
Aufgabe - Nächste auszuführende Aufgabe.
Rückgabetyp
Generator [ Task [ Any, Any ], PassManagerState, None]