Skip to content

bloqade.stim.rewrite.resolve_get_rec_idx.ResolveGetRecIdx

← Module overview

classResolveGetRecIdxsource

bloqade.stim.rewrite.resolve_get_rec_idx.ResolveGetRecIdx

Bases: RewriteRule

Replace GetRecIdxFromMeasurement / GetRecIdxFromPredicate with computed constants.

class ResolveGetRecIdx(measure_id_frame: MeasureIDFrame)

After MeasureIDAnalysis has produced RecId lattice elements for each helper statement, this rewrite reads RecId.idx (the final stim record index) and creates a py.Constant to replace all uses. The helper statement becomes unused and is cleaned up by DCE.

Parameters

NameTypeDescription
measure_id_frameMeasureIDFrame

Attributes

NameTypeDescription
measure_id_frameMeasureIDFrame

methodrewrite_Statementsource

bloqade.stim.rewrite.resolve_get_rec_idx.ResolveGetRecIdx.rewrite_Statement

def rewrite_Statement(node: ir.Statement) -> RewriteResult

Parameters

NameTypeDescription
nodeir.Statement

Returns

RewriteResult

source

methodresolvesource

bloqade.stim.rewrite.resolve_get_rec_idx.ResolveGetRecIdx.resolve

def resolve(node: ir.Statement) -> RewriteResult

Parameters

NameTypeDescription
nodeir.Statement

Returns

RewriteResult

source