Skip to content

Squin measure

SquinMeasureToStim dataclass

SquinMeasureToStim()

Bases: RewriteRule


              flowchart TD
              bloqade.stim.rewrite.squin_measure.SquinMeasureToStim[SquinMeasureToStim]

              

              click bloqade.stim.rewrite.squin_measure.SquinMeasureToStim href "" "bloqade.stim.rewrite.squin_measure.SquinMeasureToStim"
            

Rewrite squin measure-related statements to stim statements.

get_qubit_idx_ssas

get_qubit_idx_ssas(
    measure_stmt: Measure,
) -> tuple[ir.SSAValue, ...] | None

Extract the address attribute and insert qubit indices for the given measure statement.

Source code in .venv/lib/python3.12/site-packages/bloqade/stim/rewrite/squin_measure.py
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
def get_qubit_idx_ssas(
    self, measure_stmt: qubit.stmts.Measure
) -> tuple[ir.SSAValue, ...] | None:
    """
    Extract the address attribute and insert qubit indices for the given measure statement.
    """
    address_attr = measure_stmt.qubits.hints.get("address")
    if address_attr is None:
        return None

    assert isinstance(address_attr, AddressAttribute)

    qubit_idx_ssas = insert_qubit_idx_from_address(
        address=address_attr, stmt_to_insert_before=measure_stmt
    )

    return qubit_idx_ssas