Header menu logo Encodings

CircuitOutput Module

Renders Gate arrays into OpenQASM (2.0 and 3.0), Q#, and JSON circuit formats.

Uses a CodeFragment computation expression for structured text generation. All functions are pure — no side effects.

Types and nested modules

Type/Module Description

CodeFragment (Module)

Combinators for building and transforming code fragments.

CodeBuilder

Computation expression builder for CodeFragment.

CodeFragment (Type)

Lines of generated code — the basic building block for all backends.

OpenQasmOptions

Options controlling OpenQASM output.

QSharpOptions

Options controlling Q# output.

QasmVersion

OpenQASM language version.

Functions and values

Function or value Description

code

Full Usage: code

Returns: CodeBuilder

Computation expression instance for building code fragments.

Returns: CodeBuilder

defaultOpenQasm2Options

Full Usage: defaultOpenQasm2Options

Returns: OpenQasmOptions

Defaults for OpenQASM 2.0 (Quokka-compatible).

Returns: OpenQasmOptions

defaultOpenQasmOptions

Full Usage: defaultOpenQasmOptions

Returns: OpenQasmOptions

Sensible defaults for OpenQASM 3.0 generation.

Returns: OpenQasmOptions

defaultQSharpOptions

Full Usage: defaultQSharpOptions

Returns: QSharpOptions

Sensible defaults for Q# generation.

Returns: QSharpOptions

toCircuitJson numQubits metadata gates

Full Usage: toCircuitJson numQubits metadata gates

Parameters:
    numQubits : int - Number of qubits in the circuit.
    metadata : Map<string, string> - Arbitrary key-value metadata to include.
    gates : Gate[] - Gate sequence to serialize.

Returns: string

Serialize a gate array to a JSON circuit interchange format.

numQubits : int

Number of qubits in the circuit.

metadata : Map<string, string>

Arbitrary key-value metadata to include.

gates : Gate[]

Gate sequence to serialize.

Returns: string

toOpenQasm opts numQubits gates

Full Usage: toOpenQasm opts numQubits gates

Parameters:
    opts : OpenQasmOptions - Formatting options including version selection.
    numQubits : int - Number of qubits in the register declaration.
    gates : Gate[] - Gate sequence to render.

Returns: string

Render a gate array to an OpenQASM program (2.0 or 3.0).

opts : OpenQasmOptions

Formatting options including version selection.

numQubits : int

Number of qubits in the register declaration.

gates : Gate[]

Gate sequence to render.

Returns: string

toQSharp opts numQubits gates

Full Usage: toQSharp opts numQubits gates

Parameters:
    opts : QSharpOptions - Formatting options.
    numQubits : int - Number of qubits (for documentation; the operation takes a Qubit array).
    gates : Gate[] - Gate sequence to render.

Returns: string

Render a gate array to a Q# operation.

opts : QSharpOptions

Formatting options.

numQubits : int

Number of qubits (for documentation; the operation takes a Qubit array).

gates : Gate[]

Gate sequence to render.

Returns: string

trotterStepToOpenQasm opts step

Full Usage: trotterStepToOpenQasm opts step

Parameters:
Returns: string

Render a TrotterStep to OpenQASM (2.0 or 3.0), inferring numQubits from the gates.

opts : OpenQasmOptions

Formatting options including version selection.

step : TrotterStep

The Trotter step to render.

Returns: string

trotterStepToQSharp opts step

Full Usage: trotterStepToQSharp opts step

Parameters:
Returns: string

Render a TrotterStep to Q#, inferring numQubits from the gates.

opts : QSharpOptions

Formatting options.

step : TrotterStep

The Trotter step to render.

Returns: string

Type something to start searching.