Skip to content

Commit 1056131

Browse files
authored
Merge pull request #55 from eltonjohnfanboy/fix-issue15
Fix issue #15
2 parents 811e483 + 6e172d7 commit 1056131

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

dataset/dataset_qiskit_test_human_eval.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@
794794
{
795795
"task_id": "qiskitHumanEval/99",
796796
"prompt": "from qiskit.circuit import Parameter, QuantumCircuit\n\ndef remove_unassigned_parameterized_gates(circuit: QuantumCircuit) -> QuantumCircuit:\n \"\"\" Remove all the gates with unassigned parameters from the given circuit.\n \"\"\"",
797-
"canonical_solution": "\n circuit_data = circuit.data.copy()\n circuit_without_params = QuantumCircuit(circuit.num_qubits, circuit.num_clbits)\n \n #for instr, qargs, cargs in circuit_data:\n for instruction in circuit_data:\n instr, qargs, cargs = instruction.operation, instruction.qubits, instruction.clbits\n if not (isinstance(instr.params, Parameter) or \n isinstance(instr.params[0], Parameter)):\n circuit_without_params.append(instr, qargs, cargs)\n\n return circuit_without_params\n",
797+
"canonical_solution": "\n circuit_data = circuit.data.copy()\n circuit_without_params = QuantumCircuit(circuit.num_qubits, circuit.num_clbits)\n \n #for instr, qargs, cargs in circuit_data:\n for instruction in circuit_data:\n instr, qargs, cargs = instruction.operation, instruction.qubits, instruction.clbits\n if not (len(instr.params) > 0 and isinstance(instr.params[0], Parameter)):\n circuit_without_params.append(instr, qargs, cargs)\n\n return circuit_without_params\n",
798798
"test": "def check(candidate):\n from qiskit.circuit.library import RXGate, RZGate\n circ = QuantumCircuit(2)\n theta = Parameter(\"θ\")\n circ.rx(0.1, 1)\n circ.ry(theta, 1)\n circ.rx(theta, 0)\n circ.cp(theta, 0, 1)\n circ.rz(0.4, 0)\n circ_can = candidate(circ)\n assert isinstance(circ_can, QuantumCircuit), \"Not a quantum circuit\"\n assert len(circ_can.parameters) == 0, \"Circuit consists of gates with unassigned parameters.\"\n has_rx = False\n has_rz = False\n for instruction in circ_can:\n instr, qargs, cargs = instruction.operation, instruction.qubits, instruction.clbits\n if isinstance(instr, RXGate):\n has_rx = True\n if isinstance(instr, RZGate):\n has_rz = True\n assert has_rx is True, \"Removed rx gates with assigned parameters from the circuit\"\n assert has_rz is True, \"Removed rz gates with assigned parameters from the circuit\"\n",
799799
"entry_point": "remove_unassigned_parameterized_gates",
800800
"difficulty_scale": "basic"

dataset/dataset_qiskit_test_human_eval_hard.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@
794794
{
795795
"task_id": "qiskitHumanEval/99",
796796
"prompt": "Remove all the gates with unassigned parameters from the given circuit.\nYou must implement this using a function named `remove_unassigned_parameterized_gates` with the following arguments: circuit.",
797-
"canonical_solution": "from qiskit.circuit import Parameter, QuantumCircuit\n\ndef remove_unassigned_parameterized_gates(circuit):\n circuit_data = circuit.data.copy()\n circuit_without_params = QuantumCircuit(circuit.num_qubits, circuit.num_clbits)\n \n #for instr, qargs, cargs in circuit_data:\n for instruction in circuit_data:\n instr, qargs, cargs = instruction.operation, instruction.qubits, instruction.clbits\n if not (isinstance(instr.params, Parameter) or \n isinstance(instr.params[0], Parameter)):\n circuit_without_params.append(instr, qargs, cargs)\n\n return circuit_without_params\n",
797+
"canonical_solution": "from qiskit.circuit import Parameter, QuantumCircuit\n\ndef remove_unassigned_parameterized_gates(circuit):\n circuit_data = circuit.data.copy()\n circuit_without_params = QuantumCircuit(circuit.num_qubits, circuit.num_clbits)\n \n #for instr, qargs, cargs in circuit_data:\n for instruction in circuit_data:\n instr, qargs, cargs = instruction.operation, instruction.qubits, instruction.clbits\n if not (len(instr.params) > 0 and isinstance(instr.params[0], Parameter)):\n circuit_without_params.append(instr, qargs, cargs)\n\n return circuit_without_params\n",
798798
"entry_point": "remove_unassigned_parameterized_gates",
799799
"difficulty_scale": "basic",
800800
"test": "from qiskit.circuit import Parameter, QuantumCircuit\ndef check(candidate):\n from qiskit.circuit.library import RXGate, RZGate\n circ = QuantumCircuit(2)\n theta = Parameter(\"\u03b8\")\n circ.rx(0.1, 1)\n circ.ry(theta, 1)\n circ.rx(theta, 0)\n circ.cp(theta, 0, 1)\n circ.rz(0.4, 0)\n circ_can = candidate(circ)\n assert isinstance(circ_can, QuantumCircuit), \"Not a quantum circuit\"\n assert len(circ_can.parameters) == 0, \"Circuit consists of gates with unassigned parameters.\"\n has_rx = False\n has_rz = False\n for instruction in circ_can:\n instr, qargs, cargs = instruction.operation, instruction.qubits, instruction.clbits\n if isinstance(instr, RXGate):\n has_rx = True\n if isinstance(instr, RZGate):\n has_rz = True\n assert has_rx is True, \"Removed rx gates with assigned parameters from the circuit\"\n assert has_rz is True, \"Removed rz gates with assigned parameters from the circuit\"\n\ncheck(remove_unassigned_parameterized_gates)"

0 commit comments

Comments
 (0)