• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 34398812926
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: fix-issue-16688
DEFAULT BRANCH: main
Ran 09 Sep 2026 08:41PM UTC
Jobs 1
Files 970
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Sep 2026 08:04PM UTC coverage: 88.045% (+0.02%) from 88.028%
34398812926

Pull #16924

github

mtreinish
Add a quantum program: functions, an entry point, and I/O structures

A quantum program is a collection of program functions, the last of which is its
entry point, together with one input structure and one output structure. A
caller hands over a data tree of inputs arranged as the program declares and
receives a tree of outputs arranged the same way, so an answer arrives organised
the way it was asked for. Everything between those two boundaries stays
positional, since the structures are where all naming lives.

The structures describe the entry point, because the entry point is what a caller
invokes, so a program carries one pair and a function carries none. Assembling one
checks that there is a function to enter at — every accessor reads through the last
one — and then that each structure has as many leaves as the entry point has
parameter and result instructions. Correspondence between a structure's leaves and
a function's slots rests on order, and that leaf count is the only structural check
there is: nothing maps between the two, so whoever builds a program adds its
boundary instructions in the order its structures declare.

Evaluating checks the supplied arrangement against the declared one before
computing anything, and reports both structures whole, so that a caller sees the
arrangement that was wanted beside the one it supplied. Rendering a structure as a
skeleton, `[counts: [_, _], shots: _]`, is what makes that message legible.

The declared type of every input and output is available without evaluating,
arranged in the structure it belongs to, and `DataTree::dotted_paths` addresses
each output from the output structure. The structure is the thing worth keeping,
since a set of paths cannot reconstruct it: an empty branch contributes no leaves,
and so no path.
Pull Request #16924: Add `QuantumProgram` to providers crate

303 of 313 new or added lines in 2 files covered. (96.81%)

10 existing lines in 2 files now uncovered.

118940 of 135090 relevant lines covered (88.05%)

967488.84 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
96.59
crates/providers/src/program/quantum_program.rs

Coverage Regressions

Lines Coverage ∆ File
8
91.52
-1.29% crates/qasm2/src/lex.rs
2
81.74
-0.07% crates/circuit/src/parameter/symbol_expr.rs
Jobs
ID Job ID Ran Files Coverage
1 34398812926.1 09 Sep 2026 08:41PM UTC 970
88.05
GitHub Action Run
Source Files on build 34398812926
  • Tree
  • List 970
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34398812926
  • Pull Request #16924
  • PR Base - ihincks/qp-05-arity-macro (#34398811426)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc