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

Qiskit / qiskit / 8651461604
89%
main: 88%

Build:
Build:
LAST BUILD BRANCH: evolve_sparseobservable
DEFAULT BRANCH: main
Ran 11 Apr 2024 06:37PM UTC
Jobs 1
Files 820
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

11 Apr 2024 06:22PM UTC coverage: 89.33% (-0.06%) from 89.391%
8651461604

push

github

web-flow
Refactor Sabre to an explicitly stateful router (#11977)

This commit is an overdue tidy up of the Sabre code, which had been
through a few growth spurts with the addition of the combined
layout-and-routing pass in Rust, and the support for control-flow
operations and directives. I have a few things I'd like to try with
Sabre, and the code was getting quite unwieldy to modify and extend.

This refactors the Sabre routing internals, encapsulating a "routing
target" into a single view object that is used to define the hardware
target, and the stateful components of the routing algorithm into a
formal `RoutingState` object.  The functions that build up the routing
algorithm then become stateful instance methods, avoiding needing to
pass many things through several internal function calls.

In addition to the non-trivial lines-of-code savings, this also made it
clearer to me (while doing the refactor) that routing-state methods were
not all really at similar levels of abstraction, meaning that things
like the escape-valve mechanism took up oversized space in the
description of the main algorithm, and the control-flow block handling
was not as neatly split from the rest of the logic as it could have
been.  This reorganises some of the methods to make the important
components of the algorithms clearer; the top level of the algorithm now
fits on one screen.

Lastly, this moves both layout and routing into a unified `sabre`
module, mostly just to simplify all the `use` statements and to put
logically grouped code in the same place.

473 of 485 new or added lines in 11 files covered. (97.53%)

27 existing lines in 3 files now uncovered.

60146 of 67330 relevant lines covered (89.33%)

232178.13 hits per line

Jobs
ID Job ID Ran Files Coverage
1 8651461604.1 11 Apr 2024 06:37PM UTC 0
89.33
GitHub Action Run
Source Files on build 8651461604
Detailed source file information is not available for this build.
  • Back to Repo
  • 3af3cf58 on github
  • Prev Build on main (#8646610213)
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