pub struct Program {
pub qubit_count: u32,
pub bit_count: u32,
pub record_count: u32,
pub tasks: Vec<Task>,
pub task_origins: Vec<TaskOrigin>,
pub entry: Stream,
pub inputs: Vec<LogicalInput>,
pub outputs: Vec<LogicalOutput>,
pub decoder_latency_rounds: u32,
}Expand description
A lowered executable program.
Fields§
§qubit_count: u32Number of simulator qubits.
bit_count: u32Number of classical bit registers.
record_count: u32Number of statically named measurement records.
tasks: Vec<Task>All tasks, addressed by TaskId. Nested streams index this same arena.
task_origins: Vec<TaskOrigin>Backend-independent source geometry, indexed like tasks. Hand-built
programs may leave this empty.
entry: StreamTop-level executable stream.
inputs: Vec<LogicalInput>External logical patches injected when their source task is released.
outputs: Vec<LogicalOutput>Terminal logical operators and their Pauli-frame registers.
decoder_latency_rounds: u32Configured mock-decoder latency, in physical memory rounds.
Implementations§
Source§impl Program
impl Program
Sourcepub fn instructions(&self) -> impl Iterator<Item = &Instruction>
pub fn instructions(&self) -> impl Iterator<Item = &Instruction>
Every instruction, including instructions owned by nested streams.
Sourcepub fn sources(&self) -> Vec<SourceSchedule>
pub fn sources(&self) -> Vec<SourceSchedule>
Independently released sources in dense task order.
Source§impl Program
impl Program
Sourcepub fn run(&self, config: RuntimeConfig) -> Result<RunResult, RuntimeError>
pub fn run(&self, config: RuntimeConfig) -> Result<RunResult, RuntimeError>
Execute this lowered program with one runtime configuration.
Reuse the same program with different seeds to run independent shots without recompiling or lowering again.
§Errors
Returns a typed runtime, decoder, resource-limit, or backend failure.