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

Qiskit / qiskit / 17157549394
88%

Build:
DEFAULT BRANCH: main
Ran 22 Aug 2025 03:18PM UTC
Jobs 1
Files 849
Run time 2min
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

22 Aug 2025 01:45PM UTC coverage: 88.431% (-0.007%) from 88.438%
17157549394

push

github

web-flow
Add Split2qUnitaries to C API (#14720)

* Add Split2qUnitaries to C API

This commit adds a standalone transpiler pass function to the C API for
running the Split2qUnitaries transpiler pass. This pass mutates the dag
in place if there is no swap splitting that occurs (either by user
option or because there are no applicable gates) or returns a new dag
with a permutation. This result is encapsulated in a
Split2qUnitariesResult struct that contains the circuit and the
permutation.

One small change was needed to the dag circuit and the rust code of the
pass to enable running it without python. A py token was used for
updating the instruction cache when splitting instructions. This was
mostly a leftover from when unitary gate was a PyGate where this
mattered, but now there isn't anything to prepopulate. But also it
wasn't ever necessary in the case of a python defined operation it would
do the ref count update implicitly and populate the cache on the first
access. This commit removes the python usage for this which simplifies
the code and also enables running this pass from standalone C.

Fixes #14448

* Pivot to returning TranspileLayout instead of custom return type

* Fix memory leak in test

* Add missing newlines from error strings

* Apply suggestions from code review

Co-authored-by: Raynel Sanchez <87539502+raynelfss@users.noreply.github.com>

* Fix docstring example

* Fix error message on internal pass failure

* Add missing QkTranspileLayout free in failure mode where it shouldn't exist

* Fix failure message in test where permutation doesn't exist and is expected

---------

Co-authored-by: Raynel Sanchez <87539502+raynelfss@users.noreply.github.com>

32 of 35 new or added lines in 3 files covered. (91.43%)

24 existing lines in 4 files now uncovered.

89862 of 101618 relevant lines covered (88.43%)

496338.97 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
90.0
crates/cext/src/transpiler/passes/split_2q_unitaries.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
83.39
0.0% crates/circuit/src/parameter/parameter_expression.rs
3
93.04
0.77% crates/qasm2/src/lex.rs
8
72.82
-0.33% crates/circuit/src/parameter/symbol_expr.rs
12
97.09
-0.47% crates/qasm2/src/parse.rs
Jobs
ID Job ID Ran Files Coverage
1 17157549394.1 22 Aug 2025 03:18PM UTC 849
88.43
GitHub Action Run
Source Files on build 17157549394
  • Tree
  • List 849
  • Changed 7
  • Source Changed 2
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17157549394
  • 72cb5a2c on github
  • Prev Build on gh-readonly-queue/main/pr-14826-ecff168aa823516aecd0d9517c88abe88f293375 (#17156781069)
  • Next Build on main (#17163252070)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc