DoWhileController
class qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)
Basi: BaseController[IR, IR]
Eseguire i task dati in un ciclo finché la condizione do_while sul set di proprietà non diventa False.
Le attività specificate verranno sempre eseguite almeno una volta e, ad ogni iterazione del ciclo, tutte le attività verranno eseguite (a meno che non venga impostato uno stato di errore). Questo controller presenta lo stesso ingresso e la stessa uscita IR.
Creare un nuovo controllore di flusso.
Parametri
- options (dict[str, Any] | None) – Opzione per questo controllore di flusso.
- tasks (Task[IR, IR] | Iterable[Task[Any, Any]])
- do_while (Callable[[PropertySet], bool] | None)
Attributi
passes
Alias dei compiti per la compatibilità con il passato.
Metodi
execute
execute(passmanager_ir, state, callback=None)
Eseguire l'attività di ottimizzazione per l'IR Qiskit in ingresso.
Parametri
- passmanager_ir (IR) – Qiskit IR da ottimizzare.
- state (PassManagerState) – Stato associato all'esecuzione del flusso di lavoro da parte del gestore del passaggio stesso.
- callback (Callable | None) – Una funzione di callback che viene richiamata ad ogni esecuzione dell'attività di ottimizzazione.
Risultati
Qiskit IR ottimizzato e stato del flusso di lavoro.
Tipo di restituzione
tupla [ IR_OUT, PassManagerState ]
iter_tasks
iter_tasks(state)
Una logica personalizzata per scegliere il prossimo task da eseguire.
La sottoclasse del controllore può consumare lo stato per costruire una pipeline di task adeguata. Lo stato aggiornato dopo l'esecuzione di un task sarà riportato come valore di "ritorno" di qualsiasi istruzione yield . Ciò indica che l'ordine di esecuzione dei task è determinato solo in fase di esecuzione. Questo metodo non può mutare l'oggetto di stato dato.
Parametri
- state (PassManagerState) – Lo stato del flusso di lavoro del passmanager all'inizio dell'esecuzione di questo controllore di flusso.
- state - lo stato del gestore di pass dopo l'esecuzione dell'ultimo task che è stato ceduto. Il generatore non ha bisogno di ispezionare questo dato se è irrilevante per la sua logica, né di aggiornarlo.
Attese
Attività - La prossima attività da eseguire.
Tipo di restituzione
Generator [ Task [ Any, Any ], PassManagerState, None]