Skip to content

bloqade.cirq_utils.emit.base.EmitCirq

← Module overview

classEmitCirqsource

bloqade.cirq_utils.emit.base.EmitCirq

Bases: EmitABC[EmitCirqFrame, cirq.Circuit]

Emitter for Cirq circuit output via abstract interpretation.

Signature
class EmitCirq(dialects: ir.DialectGroup = _default_kernel(), qubits: Sequence[cirq.Qid] | None = None, circuit: cirq.Circuit = cirq.Circuit(), measurement_keys: dict[ir.SSAValue, str] = dict())

Parameters

NameTypeDefaultDescription
dialectsir.DialectGroup_default_kernel()
qubitsSequence[cirq.Qid] | NoneNone
circuitcirq.Circuitcirq.Circuit()
measurement_keysdict[ir.SSAValue, str]dict()

Attributes

NameTypeDefaultDescription
keys—('emit.cirq', 'emit.main')
dialectsir.DialectGroupfield(default_factory=_default_kernel)
void—cirq.Circuit()
qubitsSequence[cirq.Qid] | NoneNone
circuitcirq.Circuitfield(default_factory=(cirq.Circuit))
measurement_keysdict[ir.SSAValue, str]field(default_factory=dict)

methodinitializesource

bloqade.cirq_utils.emit.base.EmitCirq.initialize

def initialize() -> Self

Reset per-run emitter state.

Returns

Self

source

methodinitialize_framesource

bloqade.cirq_utils.emit.base.EmitCirq.initialize_frame

Signature
def initialize_frame(node: ir.Statement, *, has_parent_access: bool = False) -> EmitCirqFrame

Create a new emission frame.

Parameters

NameTypeDefaultDescription
nodeir.Statementrequired
has_parent_accessboolFalse

Returns

EmitCirqFrame

source

methodresetsource

bloqade.cirq_utils.emit.base.EmitCirq.reset

def reset()

Reset the circuit and measurement key cache.

source

methodeval_fallbacksource

bloqade.cirq_utils.emit.base.EmitCirq.eval_fallback

def eval_fallback(frame: EmitCirqFrame, node: ir.Statement) -> tuple

Return placeholder results for unhandled statements.

Parameters

NameTypeDescription
frameEmitCirqFrame
nodeir.Statement

Returns

tuple

source