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

Qiskit / Qiskit.jl / 28060465080
79%
main: 79%

Build:
Build:
LAST BUILD BRANCH: v0.5.0
DEFAULT BRANCH: main
Ran 23 Jun 2026 10:10PM UTC
Jobs 1
Files 11
Run time 1min
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

23 Jun 2026 10:08PM UTC coverage: 78.97% (+5.6%) from 73.41%
28060465080

push

github

web-flow
Add opt-in `Qiskit.Operations` `!` interface for circuit building (#63)

* Add opt-in Qiskit.Operations `!` interface for circuit building

Introduce `Qiskit.Operations`, an opt-in submodule that exposes every
circuit operation as a `!`-suffixed function taking the circuit as its
first argument, e.g. `h!(qc, 1)`, `cx!(qc, 1, 2)`, `measure!(qc, 1, 1)`.
This is the idiomatic-Julia counterpart to the existing Python-style
property accessors (`qc.h(1)`), which remain unchanged.

The names are not re-exported from `Qiskit` itself; users opt in with
`using Qiskit.Operations`, so generic verbs like `measure!` and `reset!`
only enter the namespace when requested.

Implementation notes:

- A single `GATE_TABLE` now drives the standard gates. The property
  accessor (`getproperty`), `propertynames`, and the generated gate
  functions are all derived from it, replacing the previous hand-written
  ~120-line if/else and the separately-maintained `propertynames` tuple.
- Gate lookup uses compile-time `Val` dispatch, so `qc.h(1)` with a
  literal symbol still folds to a single concrete `GateClosure{QkGate_H}`
  construction with no runtime branching, preserving the prior
  optimization (the gate remains a type parameter).
- The canonical implementations are the `!` functions; the property-style
  closures forward into them, so there is exactly one code path per
  operation. The Unitful extension adds a `delay!` method accordingly.
- Gate arities are validated against the C library by a new test that
  builds one instruction per gate and checks the resulting
  `CircuitInstruction`. This caught an incorrect arity for `cu`, which
  takes four parameters (theta, phi, lambda, gamma), not three; the
  previous value made `qc.cu(...)` always raise. Corrected to (2, 4).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Fix docs build and test qualified Operations access

- Add `Qiskit.Operations` to the documented modules and `@autodocs` so the
  subm... (continued)

53 of 54 new or added lines in 2 files covered. (98.15%)

368 of 466 relevant lines covered (78.97%)

68.1 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
94.89
19.36% src/circuit.jl
Jobs
ID Job ID Ran Files Coverage
1 28060465080.1 23 Jun 2026 10:10PM UTC 11
78.97
GitHub Action Run
Source Files on build 28060465080
  • Tree
  • List 11
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28060465080
  • 4f867767 on github
  • Prev Build on main (#28054598175)
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