Qiskit / qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
https://www.ibm.com/quantum/qiskit
Apache License 2.0
5.11k stars 2.34k forks source link

[WIP] Add method to add instructions to a `DAGCircuit` from an iterator of `PackedInstruction` #13010

Closed raynelfss closed 1 month ago

raynelfss commented 1 month ago

Solves #13003

Summary

Tracked by #13001 and preceeded by #12975 The following commits aim to add a DAGCircuit::add_from_iter() to add a chain of DAGOpNodes to the DAGCircuit based on a sequence of PackedInstruction.

Details and comments

These commits add the following two methods:

Known issues:

Blockers

coveralls commented 1 month ago

Pull Request Test Coverage Report for Build 10527975357

Details


Changes Missing Coverage Covered Lines Changed/Added Lines %
crates/circuit/src/interner.rs 16 17 94.12%
crates/circuit/src/circuit_data.rs 21 23 91.3%
crates/circuit/src/circuit_instruction.rs 3 9 33.33%
crates/circuit/src/operations.rs 10 17 58.82%
crates/circuit/src/packed_instruction.rs 65 72 90.28%
qiskit/visualization/dag_visualization.py 5 20 25.0%
crates/circuit/src/dag_node.rs 167 193 86.53%
crates/circuit/src/dot_utils.rs 0 68 0.0%
crates/circuit/src/rustworkx_core_vnext.rs 598 917 65.21%
crates/circuit/src/dag_circuit.rs 4064 4614 88.08%
<!-- Total: 5057 6058 83.48% -->
Files with Coverage Reduction New Missed Lines %
crates/circuit/src/interner.rs 1 78.79%
qiskit/circuit/instruction.py 1 95.27%
qiskit/transpiler/passes/routing/stochastic_swap.py 1 95.39%
qiskit/dagcircuit/dagnode.py 1 85.37%
crates/circuit/src/circuit_instruction.rs 4 88.5%
qiskit/dagcircuit/dagdependency_v2.py 5 67.62%
crates/qasm2/src/lex.rs 5 92.48%
crates/circuit/src/dag_node.rs 7 83.61%
crates/qasm2/src/parse.rs 12 96.23%
crates/circuit/src/operations.rs 14 88.19%
<!-- Total: 51 -->
Totals Coverage Status
Change from base Build 10525107270: -0.5%
Covered Lines: 71614
Relevant Lines: 80403

💛 - Coveralls