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:
Pedro Rivero 2022-12-13 17:41:07 -06:00 committed by GitHub
parent b2c90395df
commit c4c79ff600
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 5 additions and 86 deletions

View File

@ -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)

View File

@ -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)

View File

@ -0,0 +1,5 @@
---
upgrade:
- |
Remove ``qiskit.circuit.measure.measure`` and ``qiskit.circuit.reset.reset``
functions deprecated since 0.19.

View File

@ -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."""