bloqade.stim.rewrite.ifs_to_stim_partial.IfToStimPartial
← Module overview
class
method
sourcemethod
source
classIfToStimPartial¶source
bloqade.stim.rewrite.ifs_to_stim_partial.IfToStimPartial
Bases: RewriteRule
Rewrite measurement-conditioned IfElse using GetRecIdxFromPredicate.
class IfToStimPartialAccepts the Bool condition directly (result of IsOne/IsZero) and creates GetRecIdxFromPredicate -> GetRecord -> CX/CY/CZ. If the body contains multiple Pauli gates, splits into multiple controlled gates sharing the same GetRecord result.
methodrewrite_Statement¶source
bloqade.stim.rewrite.ifs_to_stim_partial.IfToStimPartial.rewrite_Statement
def rewrite_Statement(node: ir.Statement) -> RewriteResultParameters
| Name | Type | Description |
|---|---|---|
node | ir.Statement |
Returns
RewriteResult
methodrewrite_IfElse¶source
bloqade.stim.rewrite.ifs_to_stim_partial.IfToStimPartial.rewrite_IfElse
def rewrite_IfElse(stmt: scf.IfElse) -> RewriteResultParameters
| Name | Type | Description |
|---|---|---|
stmt | scf.IfElse |
Returns
RewriteResult