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

Qiskit / qiskit / 11411236768

18 Oct 2024 08:33PM UTC coverage: 88.555% (-0.1%) from 88.667%
11411236768

push

github

web-flow
Oxidize `UnitarySynthesis` pass (#13141)

* Inital attempt at oxidizing unitary synthesis.

* Add cacache pygates feature to accelerate

* Use sabre target to speed up preferred_direction

* Adapt code to changes in PackedInstruction

* Use target in preferred_direction

* Some cleanup

* More cleanup

* Apply inline suggestions from  Matt's code review

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Apply remaining review suggestions:

 * Fix details after applying inline suggestions
 * Keep TwoQubitWeilDecomposition attributes private. Add getter.
 * Initialize new_blocks using size hint
 * Remove basis_set as it's not used if there is a target.
 * Use ref_qubits ([PhysicalQubit; 2]) instead of wire_map (IndexMap<Qubit, Physicalqubit>)
 * Define static GOODBYE_SET as suggested
 * Use ImportOnceCell for XXDecomposer and XXEmbodiments to avoid importing in a loop.
 * Set preferred_direction without making it mutable.
 * Fix check_goodbye
 * Privatize assets
 * Use the add_global_phase method instead of the private function.
 * Add qs_decomposition to imports
 * Simplify flip_bits
 * Use NormalOperation to pass around decomposer gate and params info
 * First attempt at attaching synth circuits directly
 * Second attempt at attaching synth circuits directly
 * Use edge set for coupling map
 * Avoid exposing internals from NullableIndexMap
 * Use unitary_to_gate_sequence_inner instead of optimize_1q_gates_decomposition.
 * Use concat! in long error message.

* Use dag.apply_operation_back in 1q case. Additional cleanup.

* Don't return ref to float in two qubit decomposer.

* Use PyList as input type for coupling_edges (previous approach was innefficient)

* Avoid using UnitarySynthesisReturn type, avoid intermediate dag creation in all cases except XXDecomposer.

* Refactor appending to out_dag, remove unnecesary clones.

* Cosmetic changes. Reduce indentation.

* Squash bug

* Fix clippy

* Add qsd test

* Avoid making unnecessary variables... (continued)

793 of 860 new or added lines in 6 files covered. (92.21%)

178 existing lines in 4 files now uncovered.

73863 of 83409 relevant lines covered (88.56%)

367783.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.69
/crates/qasm2/src/parse.rs


Source Not Available

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