Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

DoWhileController

class DoWhileController(passes, options=None, do_while=None, **partial_controller)

GitHub

Bases: qiskit.transpiler.runningpassmanager.FlowController

Implements a set of passes in a do-while loop.


Methods

add_flow_controller

classmethod DoWhileController.add_flow_controller(name, controller)

Adds a flow controller.

Parameters

  • name (string) – Name of the controller to add.
  • controller (type(FlowController)) – The class implementing a flow controller.

controller_factory

classmethod DoWhileController.controller_factory(passes, options, **partial_controller)

Constructs a flow controller based on the partially evaluated controller arguments.

Parameters

  • passes (list[BasePass]) – passes to add to the flow controller.
  • options (dict) – PassManager options.
  • **partial_controller (dict) – Partially evaluated controller arguments in the form {name:partial}

Raises

TranspilerError – When partial_controller is not well-formed.

Returns

A FlowController instance.

Return type

FlowController

dump_passes

DoWhileController.dump_passes()

Fetches the passes added to this flow controller.

Returns

{‘options’: self.options, ‘passes’: [passes], ‘type’: type(self)}

Return type

dict

remove_flow_controller

classmethod DoWhileController.remove_flow_controller(name)

Removes a flow controller.

Parameters

name (string) – Name of the controller to remove.

Raises

KeyError – If the controller to remove was not registered.


Attributes

registered_controllers

Default value: {'condition': <class 'qiskit.transpiler.runningpassmanager.ConditionalController'>, 'do_while': <class 'qiskit.transpiler.runningpassmanager.DoWhileController'>}

Was this page helpful?
Report a bug or request content on GitHub.