DoWhileController
class qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)
Bases: BaseController
Execute as tarefas fornecidas em um loop até que a condição do_while no conjunto de propriedades se torne False.
As tarefas fornecidas sempre serão executadas pelo menos uma vez e, na iteração do loop, todas as tarefas serão executadas (com exceção da definição de um estado de falha).
Crie um novo controlador de fluxo.
Parâmetros
- options (dict[str, Any] | None) – Opção para esse controlador de fluxo.
- tasks (Task | Iterable[Task])
- do_while (Callable[[PropertySet], bool] | None)
Atributos
passes
Alias de tarefas para compatibilidade com versões anteriores.
Métodos
execute
execute(passmanager_ir, state, callback=None)
Executar a tarefa de otimização para a entrada Qiskit IR.
Parâmetros
- passmanager_ir (Any) – Qiskit IR para otimizar.
- state (PassManagerState) – Estado associado à execução do fluxo de trabalho pelo próprio gerenciador de passes.
- callback (Callable | None) – Uma função de retorno de chamada que é chamada a cada execução da tarefa de otimização.
Retorna
Qiskit IR otimizado e estado do fluxo de trabalho.
Tipo de retorno
tupla [ Any, PassManagerState ]
iter_tasks
iter_tasks(state)
Uma lógica personalizada para escolher a próxima tarefa a ser executada.
A subclasse do controlador pode consumir o estado para criar um pipeline de tarefas adequado. O estado atualizado após a execução de uma tarefa será realimentado como o valor de "retorno" de qualquer instrução yield . Isso indica que a ordem de execução da tarefa só é determinada no tempo de execução. Esse método não tem permissão para alterar o objeto de estado fornecido.
Parâmetros
- state (PassManagerState) – O estado do fluxo de trabalho do gerenciador de passagens no início da execução desse controlador de fluxo.
- state (estado ) - o estado do gerenciador de passes após a execução da última tarefa que foi produzida. O gerador não precisa inspecionar isso se for irrelevante para sua lógica, nem atualizá-lo.
Lucros
Tarefa - Próxima tarefa a ser executada.
Tipo de retorno
Gerador* [Task*, PassManagerState, None]