ConditionalController
class qiskit.passmanager.ConditionalController(tasks=(), condition=None, *, options=None)
Bases: BaseController
Um controlador de fluxo executa o pipeline uma vez se a condição for verdadeira, ou não faz nada se a condição for falsa.
Crie um novo controlador de fluxo.
Parâmetros
- options (dict[str, Any] | None) – Opção para esse controlador de fluxo.
- tasks (Task | Iterable[Task])
- condition (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]