mirror of https://github.com/Qiskit/qiskit.git
Remove deprecated `measure` and `reset` circuit operations (#9278)
* Remove measure * Remove reset * Add reno * Update reno Co-authored-by: Julien Gacon <gaconju@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
parent
b2c90395df
commit
c4c79ff600
|
@ -14,8 +14,6 @@
|
|||
Quantum measurement in the computational basis.
|
||||
"""
|
||||
|
||||
import warnings
|
||||
|
||||
from qiskit.circuit.instruction import Instruction
|
||||
from qiskit.circuit.exceptions import CircuitError
|
||||
|
||||
|
@ -39,32 +37,3 @@ class Measure(Instruction):
|
|||
yield qarg, [each_carg]
|
||||
else:
|
||||
raise CircuitError("register size error")
|
||||
|
||||
|
||||
def measure(circuit, qubit, clbit):
|
||||
"""Measure a quantum bit into classical bit.
|
||||
|
||||
.. deprecated:: Qiskit Terra 0.19
|
||||
Use :meth:`.QuantumCircuit.measure` instead, either by calling
|
||||
``circuit.measure(qubit, clbit)``, or if a full function is required, then
|
||||
``QuantumCircuit.measure(circuit, qubit, clbit)``.
|
||||
|
||||
Args:
|
||||
circuit (QuantumCircuit): the quantum circuit to attach the measurement to.
|
||||
qubit (Union[Qubit, int]): the quantum bit to measure
|
||||
clbit (Union[Clbit, int]): the classical bit to store the measurement result in.
|
||||
|
||||
Returns:
|
||||
.InstructionSet: a handle to the created instruction.
|
||||
|
||||
Raises:
|
||||
CircuitError: if either bit is not in the circuit, or is in a bad format.
|
||||
"""
|
||||
warnings.warn(
|
||||
"The loose 'measure' function is deprecated as of Qiskit Terra 0.19, and will be removed"
|
||||
" in a future release. Instead, you should call 'circuit.measure(qubit, clbit)', or if you"
|
||||
" need a function, you can do `QuantumCircuit.measure(circuit, qubit, clbit)'.",
|
||||
category=DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
return circuit.measure(qubit, clbit)
|
||||
|
|
|
@ -14,8 +14,6 @@
|
|||
Qubit reset to computational zero.
|
||||
"""
|
||||
|
||||
import warnings
|
||||
|
||||
from qiskit.circuit.instruction import Instruction
|
||||
|
||||
|
||||
|
@ -29,30 +27,3 @@ class Reset(Instruction):
|
|||
def broadcast_arguments(self, qargs, cargs):
|
||||
for qarg in qargs[0]:
|
||||
yield [qarg], []
|
||||
|
||||
|
||||
def reset(circuit, qubit):
|
||||
"""Reset a quantum bit on a circuit.
|
||||
|
||||
.. deprecated:: Qiskit Terra 0.19
|
||||
Use :meth:`.QuantumCircuit.reset` instead, either by calling ``circuit.reset(qubit)``, or if
|
||||
a full function is required, then ``QuantumCircuit.reset(circuit, qubit)``.
|
||||
|
||||
Args:
|
||||
circuit (QuantumCircuit): the quantum circuit to attach the reset operation to.
|
||||
qubit (Union[Qubit, int]): the quantum bit to reset
|
||||
|
||||
Returns:
|
||||
.InstructionSet: a handle to the created instruction.
|
||||
|
||||
Raises:
|
||||
CircuitError: if the qubit is not in the circuit, or is in a bad format.
|
||||
"""
|
||||
warnings.warn(
|
||||
"The loose 'reset' function is deprecated as of Qiskit Terra 0.19, and will be removed"
|
||||
" in a future release. Instead, you should call 'circuit.reset(qubit)', or if you"
|
||||
" need a function, you can do `QuantumCircuit.reset(circuit, qubit)'.",
|
||||
category=DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
return circuit.reset(qubit)
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
upgrade:
|
||||
- |
|
||||
Remove ``qiskit.circuit.measure.measure`` and ``qiskit.circuit.reset.reset``
|
||||
functions deprecated since 0.19.
|
|
@ -1114,32 +1114,6 @@ class TestCircuitOperations(QiskitTestCase):
|
|||
self.assertEqual(qc.num_clbits, 10)
|
||||
self.assertEqual(qc.num_ancillas, 10)
|
||||
|
||||
def test_deprecated_measure_function(self):
|
||||
"""Test that the deprecated version of the loose 'measure' function works correctly."""
|
||||
from qiskit.circuit.measure import measure
|
||||
|
||||
test = QuantumCircuit(1, 1)
|
||||
with self.assertWarnsRegex(DeprecationWarning, r".*Qiskit Terra 0\.19.*"):
|
||||
measure(test, 0, 0)
|
||||
|
||||
expected = QuantumCircuit(1, 1)
|
||||
expected.measure(0, 0)
|
||||
|
||||
self.assertEqual(test, expected)
|
||||
|
||||
def test_deprecated_reset_function(self):
|
||||
"""Test that the deprecated version of the loose 'reset' function works correctly."""
|
||||
from qiskit.circuit.reset import reset
|
||||
|
||||
test = QuantumCircuit(1, 1)
|
||||
with self.assertWarnsRegex(DeprecationWarning, r".*Qiskit Terra 0\.19.*"):
|
||||
reset(test, 0)
|
||||
|
||||
expected = QuantumCircuit(1, 1)
|
||||
expected.reset(0)
|
||||
|
||||
self.assertEqual(test, expected)
|
||||
|
||||
def test_from_instructions(self):
|
||||
"""Test from_instructions method."""
|
||||
|
||||
|
|
Loading…
Reference in New Issue