Skip to content

Classical control

CirqClassicalControlValidation

Bases: ValidationPass


              flowchart TD
              bloqade.cirq_utils.validation.classical_control.CirqClassicalControlValidation[CirqClassicalControlValidation]

              

              click bloqade.cirq_utils.validation.classical_control.CirqClassicalControlValidation href "" "bloqade.cirq_utils.validation.classical_control.CirqClassicalControlValidation"
            

Validate squin IfElse statements before cirq classical control emission.

name

name() -> str

Return the validation pass name.

Source code in .venv/lib/python3.14/site-packages/bloqade/cirq_utils/validation/classical_control.py
116
117
118
def name(self) -> str:
    """Return the validation pass name."""
    return "Cirq Classical Control Validation"

run

run(method: Method) -> tuple[Any, list[ir.ValidationError]]

Run classical control validation on method.

Source code in .venv/lib/python3.14/site-packages/bloqade/cirq_utils/validation/classical_control.py
120
121
122
123
124
def run(self, method: ir.Method) -> tuple[Any, list[ir.ValidationError]]:
    """Run classical control validation on ``method``."""
    analysis = _CirqClassicalControlValidationAnalysis(method.dialects)
    frame, _ = analysis.run(method)
    return frame, analysis.get_validation_errors()