Ifs to stim
IfElseSimplification
dataclass
IfElseSimplification()
contains_ifelse
contains_ifelse(stmt: IfElse) -> bool
Check if the IfElse statement contains another IfElse statement.
Source code in .venv/lib/python3.12/site-packages/bloqade/stim/rewrite/ifs_to_stim.py
35 36 37 38 39 40 |
|
has_else_body
has_else_body(stmt: IfElse) -> bool
Check if the IfElse statement has an else body.
Source code in .venv/lib/python3.12/site-packages/bloqade/stim/rewrite/ifs_to_stim.py
57 58 59 60 61 62 63 64 65 66 |
|
is_nested_ifelse
is_nested_ifelse(stmt: IfElse) -> bool
Check if the IfElse statement is nested.
Source code in .venv/lib/python3.12/site-packages/bloqade/stim/rewrite/ifs_to_stim.py
45 46 47 48 49 50 51 52 53 54 55 |
|
IfToStim
dataclass
IfToStim(measure_frame: MeasureIDFrame)
StimSplitIfStmts
dataclass
StimSplitIfStmts()
Bases: IfElseSimplification
, SplitIfStmts
Splits the then body of an if-else statement into multiple if statements
Given an IfElse with multiple valid statements in the then-body:
if measure_result
squin.qubit.apply(op.X, q0) squin.qubit.apply(op.Y, q1)
this should be rewritten to:
if measure_result
squin.qubit.apply(op.X, q0)
if measure_result
squin.qubit.apply(op.Y, q1)