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

Qiskit / qiskit / 36003242370
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: c-custom-gates
DEFAULT BRANCH: main
Ran 24 Sep 2026 01:31PM UTC
Jobs 1
Files 976
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

24 Sep 2026 01:04PM UTC coverage: 88.061%. Remained the same
36003242370

push

github

web-flow
Add MCTS to default HLS synthesis plugin for PauliEvolution gates (#16879)

* Refactoring Clifford class

PauliList allows to store an arbitrary number of Paulis with associated phases
in a packed format that is optimized for vectorized conjugation by Clifford gates.

Clifford uses PauliList.

* The initial implementation. The rollout strategy is completely identical to the rollout
strategy in the python code (up to a small bug fix in the python code), ensuring that
this implementation and the original python code give similar results. In particular,
this is the reason why we are reversing the iterators when calling max_by_key -- to
ensure that the first candidate with the best score gets chosen, or why we are considering
the pair (j, i) directly after the pair (i, j).

* Replacing compare and identify methods by chunk-based computations from the
Rustiq paper. This changes the results, however on average the number of CX-gates
is about the same as before.

For efficiency, this uses table lookups instead of direct conjugation,
similarly to the implementation in Rustiq, which further improves the runtime by
2x on larger instances.

* implementing upto phase and clifford options

fixing global phase with all-identity paulis

cleanup

* Finalizing the plugin interface

Making pass over tests

Some cleanup

* improving PauliList::from_pauli_labels methods and adding error handling

* Also using Result for Rustiq's inner synthesis method

* performance optimization

When computing the score of applying a given Clifford circuit on a pair of qubits,
instead of iterating over all active Paulis and computing the score change for this
pair of qubits, it is faster to first count the number of pairs of each type and then
sum up the results. This gives up to 10x performance improvement for the larger circuits.
Interestingly, the idea for this optimization was suggested by Claude when I privately
asked it to make performance suggestions.

* Replacing unwrap for clif... (continued)

35 of 36 new or added lines in 5 files covered. (97.22%)

18 existing lines in 3 files now uncovered.

121626 of 138115 relevant lines covered (88.06%)

948291.57 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
86.33
0.22% qiskit/transpiler/passes/synthesis/hls_plugins.py

Coverage Regressions

Lines Coverage ∆ File
12
96.72
0.0% crates/qasm2/src/parse.rs
5
91.77
-0.51% crates/qasm2/src/lex.rs
1
96.41
-0.13% crates/synthesis/src/two_qubit_decompose/weyl_decomposition.rs
Jobs
ID Job ID Ran Files Coverage
1 36003242370.1 24 Sep 2026 01:31PM UTC 976
88.06
GitHub Action Run
Source Files on build 36003242370
  • Tree
  • List 976
  • Changed 11
  • Source Changed 8
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36003242370
  • 36a61a3e on github
  • Prev Build on gh-readonly-queue/main/pr-16881-868669a237498a332d104cb1e81ed1f41e2db2a4 (#35996692957)
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