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

Qiskit / qiskit / 21855421933
88%

Build:
DEFAULT BRANCH: main
Ran 10 Feb 2026 08:14AM UTC
Jobs 1
Files 897
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

10 Feb 2026 06:35AM UTC coverage: 87.958% (-0.01%) from 87.968%
21855421933

push

github

web-flow
Add fixedbitset clifford for simd bitwise composition (#15325)

* Add fixedbitset clifford for simd bitwise composition

This commit adds a custom clifford implementation for the litinski
transform that is simd optimized by using fixedbitset. This makes most
of the operations operating on the clifford use SIMD bitwise
instructions rather than iterating over arrays manually. This improves
the runtime performance of doing gate composition on the clifford. There
is likely a bit more overhead for iterating over the tableau but this
shouldn't be significant compared the the runtime gains constructing the
tableau.

For this commit the clifford class is duplicated because the other place
the existing struct in the quantum_info is used, clifford synthesis, is
based on the current tableau structure. This opted to copy the code
because I didn't want to change the synthesis code too. We should be
able to unify the implementations eventually, but it would require
adjusting anything directly accessing the clifford tableau which I
viewed as outside the scope of this PR.

* Unify the clifford implementations

In earlier iterations of this PR the fixedbitset based clifford
implementation was kept as a private struct inside the litinski
transform module. This was because what initial inspired the
implementation was speeding up the litinski transform. However, there is
no reason to keep it seperate and we can use the fixedbitset based
implementation for all the internal rust clifford struct usage. This
commit replaces `qiskit_quantum_info::clifford::Clifford` with the new
fixedbitset implementation and then updates all the usage of it based on
those changes. This includes moving the litinski transform
implementation to go back to using the quantum_info version which was
changed in earlier commits on this PR branch.

* Add reusable scratch space to Clifford struct

In an attempt to reduce the memory pressure caused by append operations
this commit adds a new private fie... (continued)

193 of 200 new or added lines in 5 files covered. (96.5%)

23 existing lines in 4 files now uncovered.

100102 of 113807 relevant lines covered (87.96%)

1162681.0 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
7
94.2
-1.43% crates/quantum_info/src/clifford.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
87.17
0.0% crates/circuit/src/parameter/parameter_expression.rs
1
73.32
-0.04% crates/circuit/src/parameter/symbol_expr.rs
3
92.29
0.26% crates/qasm2/src/lex.rs
18
96.68
-0.95% crates/qasm2/src/parse.rs
Jobs
ID Job ID Ran Files Coverage
1 21855421933.1 10 Feb 2026 08:14AM UTC 897
87.96
GitHub Action Run
Source Files on build 21855421933
  • Tree
  • List 897
  • Changed 9
  • Source Changed 5
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #21855421933
  • e99db18c on github
  • Prev Build on gh-readonly-queue/main/pr-15660-6055e5e93ea333220260be18de4e7ded82b27695 (#21834241422)
  • Next Build on main (#21895618874)
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