From 60b953dda1e452d2302adb27d6eb6b30a6ef8e1c Mon Sep 17 00:00:00 2001 From: Marquess Valdez Date: Thu, 7 Sep 2023 09:54:49 -0700 Subject: [PATCH] fix: Program#calibrate returns the input instruction if there was no match --- pyquil/quil.py | 2 +- test/unit/test_quilt.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pyquil/quil.py b/pyquil/quil.py index 301a75f69..69bf0d574 100644 --- a/pyquil/quil.py +++ b/pyquil/quil.py @@ -844,7 +844,7 @@ def calibrate( _convert_to_rs_instructions(previously_calibrated_instructions), ) - return _convert_to_py_instructions(calibrated_instructions) + return [instruction] if not calibrated_instructions else _convert_to_py_instructions(calibrated_instructions) @deprecated( version="4.0", diff --git a/test/unit/test_quilt.py b/test/unit/test_quilt.py index 5b52ae721..a3d4b46c3 100644 --- a/test/unit/test_quilt.py +++ b/test/unit/test_quilt.py @@ -278,6 +278,12 @@ def test_program_calibrate(program_input, gate, program_output): assert Program(calibrated).out() == program_output.out() +def test_program_calibrate_no_match(): + program = Program() + instruction = Gate("RX", [np.pi], [Qubit(0)]) + assert program.calibrate(instruction) == [instruction] + + @pytest.mark.parametrize( "program_text", (