diff --git a/python/quantum-pecos/src/pecos/slr/gen_codes/gen_qasm.py b/python/quantum-pecos/src/pecos/slr/gen_codes/gen_qasm.py index 86276cd32..33f147246 100644 --- a/python/quantum-pecos/src/pecos/slr/gen_codes/gen_qasm.py +++ b/python/quantum-pecos/src/pecos/slr/gen_codes/gen_qasm.py @@ -12,6 +12,7 @@ from __future__ import annotations from pecos import __version__ +from pecos.slr.vars import QReg class QASMGenerator: @@ -294,14 +295,25 @@ def qgate_qasm(self, op, repr_str: str | None = None): op.qargs = (op.qargs,) for q in op.qargs: - if isinstance(q, tuple): + if isinstance(q, QReg): + # Broadcasting across a qubit register is inconsistent with the current Permute + # strategy, so "unroll" broadcast operations to make them act on individual qubits. + # See, for example, https://github.com/PECOS-packages/PECOS/issues/95. + if op.qsize != 1: + msg = "Only single-qubit gates can be broadcast across a qubit register" + raise Exception(msg) + lines = [f"{repr_str} {qubit};" for qubit in q] + str_list.extend(lines) + + elif isinstance(q, tuple): if len(q) != op.qsize: msg = f"Expected size {op.qsize} got size {len(q)}" raise Exception(msg) qs = ",".join([str(qi) for qi in q]) str_list.append(f"{repr_str} {qs};") - str_list.append(f"{repr_str} {str(q)};") + else: + str_list.append(f"{repr_str} {q};") return "\n".join(str_list) diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_X.qasm index da29fffc8..aa7252b43 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_X.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,10 +395,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; @@ -824,7 +860,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -850,7 +892,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -874,7 +922,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -927,10 +981,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Y.qasm index 0ab559445..5b8003e8f 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Y.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,10 +395,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; @@ -826,7 +862,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -852,7 +894,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -876,7 +924,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -929,10 +983,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Z.qasm index bb3c8c7bc..86e76d51d 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+X_Z.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,7 +395,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -822,7 +852,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -848,7 +884,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -872,7 +914,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -925,7 +973,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_X.qasm index 4c2192294..f482779d0 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_X.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,10 +395,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; @@ -824,7 +860,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -850,7 +892,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -874,7 +922,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -927,10 +981,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Y.qasm index 2f9d26b55..b5118ac0c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Y.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,10 +395,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; @@ -826,7 +862,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -852,7 +894,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -876,7 +924,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -929,10 +983,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Z.qasm index e58a62069..c03fae9aa 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Y_Z.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,7 +395,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -822,7 +852,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -848,7 +884,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -872,7 +914,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -925,7 +973,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_X.qasm index ff2721f34..ab8214208 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_X.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -370,10 +388,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; @@ -823,7 +853,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -849,7 +885,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -925,10 +967,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Y.qasm index 511790fda..774f6f569 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Y.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -370,10 +388,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; @@ -825,7 +855,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -851,7 +887,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -927,10 +969,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Z.qasm index a88e21b97..8d85e992d 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_+Z_Z.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -370,7 +388,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -821,7 +845,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -847,7 +877,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -923,7 +959,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_X.qasm index 7db1204a4..67349f5ab 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_X.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -375,10 +399,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; @@ -828,7 +864,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -854,7 +896,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -878,7 +926,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -935,10 +989,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Y.qasm index 77bc68fd3..c7a4db4e2 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Y.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -375,10 +399,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; @@ -830,7 +866,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -856,7 +898,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -880,7 +928,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -937,10 +991,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Z.qasm index 8fd5448f5..35c1ee7ce 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-X_Z.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -375,7 +399,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -826,7 +856,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -852,7 +888,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -876,7 +918,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -933,7 +981,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_X.qasm index e49411cbb..432eb4d36 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_X.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,10 +395,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; @@ -824,7 +860,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -850,7 +892,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -874,7 +922,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -927,10 +981,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Y.qasm index 7b7ec9ba3..eb1bd6eb8 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Y.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,10 +395,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; @@ -826,7 +862,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -852,7 +894,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -876,7 +924,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -929,10 +983,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Z.qasm index 5276d0d3e..2e4fe9cec 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Y_Z.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -112,7 +130,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; saux_scratch = 0; reset saux_d[6]; ry(0.7853981633974483) saux_d[6]; @@ -371,7 +395,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -822,7 +852,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -848,7 +884,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -872,7 +914,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; // Transversal Logical CX barrier sin_d, saux_d; cx sin_d[0], saux_d[0]; @@ -925,7 +973,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_X.qasm index ff45ae7eb..87ddec865 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_X.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -373,10 +391,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; @@ -826,7 +856,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -852,7 +888,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -931,10 +973,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sin_d; +ry(-pi/2) sin_d[0]; +ry(-pi/2) sin_d[1]; +ry(-pi/2) sin_d[2]; +ry(-pi/2) sin_d[3]; +ry(-pi/2) sin_d[4]; +ry(-pi/2) sin_d[5]; +ry(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Y.qasm index 9c6730f03..b952af584 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Y.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -373,10 +391,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; @@ -828,7 +858,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -854,7 +890,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -933,10 +975,22 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Z.qasm index 11f25432a..8e4059fe0 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.t_gate_-Z_Z.qasm @@ -36,7 +36,13 @@ creg saux_verify_prep[32]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -62,7 +68,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -88,7 +100,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -373,7 +391,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; sin_c[5] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -824,7 +848,13 @@ m_reject[1] = saux_scratch[2]; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -850,7 +880,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -929,7 +965,13 @@ if(saux_syn_meas == 6) saux_c[2] = saux_c[2] ^ 1; saux_c[2] = saux_c[2] ^ saux_c[3]; m_t[0] = saux_c[2]; // Logical SZ -if(sin_c[5] == 1) rz(-pi/2) sin_d; +if(sin_c[5] == 1) rz(-pi/2) sin_d[0]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[1]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[2]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[3]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[4]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[5]; +if(sin_c[5] == 1) rz(-pi/2) sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_X.qasm index a630dbd0d..5d0ebd267 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_X.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1509,7 +1581,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sout_d; +ry(-pi/2) sout_d[0]; +ry(-pi/2) sout_d[1]; +ry(-pi/2) sout_d[2]; +ry(-pi/2) sout_d[3]; +ry(-pi/2) sout_d[4]; +ry(-pi/2) sout_d[5]; +ry(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Y.qasm index 535b72b40..49c214b92 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Y.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1509,7 +1581,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sout_d; +rx(-pi/2) sout_d[0]; +rx(-pi/2) sout_d[1]; +rx(-pi/2) sout_d[2]; +rx(-pi/2) sout_d[3]; +rx(-pi/2) sout_d[4]; +rx(-pi/2) sout_d[5]; +rx(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Z.qasm index 268bd4bdf..ea929f4b9 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+X_Z.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_X.qasm index b28faee70..257d06c51 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_X.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1509,7 +1581,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sout_d; +ry(-pi/2) sout_d[0]; +ry(-pi/2) sout_d[1]; +ry(-pi/2) sout_d[2]; +ry(-pi/2) sout_d[3]; +ry(-pi/2) sout_d[4]; +ry(-pi/2) sout_d[5]; +ry(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Y.qasm index 3b7331e40..e6f14dd5b 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Y.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1509,7 +1581,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sout_d; +rx(-pi/2) sout_d[0]; +rx(-pi/2) sout_d[1]; +rx(-pi/2) sout_d[2]; +rx(-pi/2) sout_d[3]; +rx(-pi/2) sout_d[4]; +rx(-pi/2) sout_d[5]; +rx(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Z.qasm index beaf79c47..e6a400f85 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Y_Z.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SXdg -rx(pi/2) sin_d; +rx(pi/2) sin_d[0]; +rx(pi/2) sin_d[1]; +rx(pi/2) sin_d[2]; +rx(pi/2) sin_d[3]; +rx(pi/2) sin_d[4]; +rx(pi/2) sin_d[5]; +rx(pi/2) sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_X.qasm index 5c85469f1..9c95d498c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_X.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1415,7 +1475,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1508,7 +1574,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sout_d; +ry(-pi/2) sout_d[0]; +ry(-pi/2) sout_d[1]; +ry(-pi/2) sout_d[2]; +ry(-pi/2) sout_d[3]; +ry(-pi/2) sout_d[4]; +ry(-pi/2) sout_d[5]; +ry(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Y.qasm index bc705a555..b24fc8a7b 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Y.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1415,7 +1475,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1508,7 +1574,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sout_d; +rx(-pi/2) sout_d[0]; +rx(-pi/2) sout_d[1]; +rx(-pi/2) sout_d[2]; +rx(-pi/2) sout_d[3]; +rx(-pi/2) sout_d[4]; +rx(-pi/2) sout_d[5]; +rx(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Z.qasm index d78db5339..64784a560 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_+Z_Z.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1415,7 +1475,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_X.qasm index 626c598f1..4ab5c3bb0 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_X.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -1420,7 +1486,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1513,7 +1585,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sout_d; +ry(-pi/2) sout_d[0]; +ry(-pi/2) sout_d[1]; +ry(-pi/2) sout_d[2]; +ry(-pi/2) sout_d[3]; +ry(-pi/2) sout_d[4]; +ry(-pi/2) sout_d[5]; +ry(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Y.qasm index e944ab63f..cb222e23f 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Y.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -1420,7 +1486,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1513,7 +1585,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sout_d; +rx(-pi/2) sout_d[0]; +rx(-pi/2) sout_d[1]; +rx(-pi/2) sout_d[2]; +rx(-pi/2) sout_d[3]; +rx(-pi/2) sout_d[4]; +rx(-pi/2) sout_d[5]; +rx(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Z.qasm index 035fb738b..6218caa2f 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-X_Z.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Logical Z z sin_d[4]; z sin_d[5]; @@ -1420,7 +1486,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_X.qasm index b3b0ee973..03eb5f4a3 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_X.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1509,7 +1581,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sout_d; +ry(-pi/2) sout_d[0]; +ry(-pi/2) sout_d[1]; +ry(-pi/2) sout_d[2]; +ry(-pi/2) sout_d[3]; +ry(-pi/2) sout_d[4]; +ry(-pi/2) sout_d[5]; +ry(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Y.qasm index ebff42028..e000eb4f8 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Y.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1509,7 +1581,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sout_d; +rx(-pi/2) sout_d[0]; +rx(-pi/2) sout_d[1]; +rx(-pi/2) sout_d[2]; +rx(-pi/2) sout_d[3]; +rx(-pi/2) sout_d[4]; +rx(-pi/2) sout_d[5]; +rx(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Z.qasm index bcfa7342a..439ebe896 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Y_Z.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1035,7 +1095,13 @@ if(sin_verify_prep[0] == 1) cx sin_d[3], sin_a[0]; if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; // Logical SX -rx(-pi/2) sin_d; +rx(-pi/2) sin_d[0]; +rx(-pi/2) sin_d[1]; +rx(-pi/2) sin_d[2]; +rx(-pi/2) sin_d[3]; +rx(-pi/2) sin_d[4]; +rx(-pi/2) sin_d[5]; +rx(-pi/2) sin_d[6]; sin_flag_x = 0; sin_flags_z = 0; @@ -1416,7 +1482,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_X.qasm index 73ea09a2a..99ff1d3bd 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_X.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1418,7 +1478,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1511,7 +1577,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical X measurement // Logical SYdg -ry(-pi/2) sout_d; +ry(-pi/2) sout_d[0]; +ry(-pi/2) sout_d[1]; +ry(-pi/2) sout_d[2]; +ry(-pi/2) sout_d[3]; +ry(-pi/2) sout_d[4]; +ry(-pi/2) sout_d[5]; +ry(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Y.qasm index 21764db0d..0ca96f18c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Y.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1418,7 +1478,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; @@ -1511,7 +1577,13 @@ if(m_bell[0] == 0) z sout_d[5]; if(m_bell[0] == 0) z sout_d[6]; // Destructive logical Y measurement // Logical SX -rx(-pi/2) sout_d; +rx(-pi/2) sout_d[0]; +rx(-pi/2) sout_d[1]; +rx(-pi/2) sout_d[2]; +rx(-pi/2) sout_d[3]; +rx(-pi/2) sout_d[4]; +rx(-pi/2) sout_d[5]; +rx(-pi/2) sout_d[6]; barrier sout_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Z.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Z.qasm index d143801b1..66b884a96 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Z.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/local_steane_code_program.telep_-Z_Z.qasm @@ -50,7 +50,13 @@ creg sout_verify_prep[32]; barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -reset smid_d; +reset smid_d[0]; +reset smid_d[1]; +reset smid_d[2]; +reset smid_d[3]; +reset smid_d[4]; +reset smid_d[5]; +reset smid_d[6]; reset smid_a[0]; barrier smid_d, smid_a[0]; h smid_d[0]; @@ -76,7 +82,13 @@ measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -102,7 +114,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; if(smid_verify_prep[0] == 1) barrier smid_d[0], smid_d[1], smid_d[2], smid_d[3], smid_d[4], smid_d[5], smid_d[6], smid_a[0]; -if(smid_verify_prep[0] == 1) reset smid_d; +if(smid_verify_prep[0] == 1) reset smid_d[0]; +if(smid_verify_prep[0] == 1) reset smid_d[1]; +if(smid_verify_prep[0] == 1) reset smid_d[2]; +if(smid_verify_prep[0] == 1) reset smid_d[3]; +if(smid_verify_prep[0] == 1) reset smid_d[4]; +if(smid_verify_prep[0] == 1) reset smid_d[5]; +if(smid_verify_prep[0] == 1) reset smid_d[6]; if(smid_verify_prep[0] == 1) reset smid_a[0]; if(smid_verify_prep[0] == 1) barrier smid_d, smid_a[0]; if(smid_verify_prep[0] == 1) h smid_d[0]; @@ -129,7 +147,13 @@ if(smid_verify_prep[0] == 1) measure smid_a[0] -> smid_verify_prep[0]; barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -reset sout_d; +reset sout_d[0]; +reset sout_d[1]; +reset sout_d[2]; +reset sout_d[3]; +reset sout_d[4]; +reset sout_d[5]; +reset sout_d[6]; reset sout_a[0]; barrier sout_d, sout_a[0]; h sout_d[0]; @@ -155,7 +179,13 @@ measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -181,7 +211,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; if(sout_verify_prep[0] == 1) barrier sout_d[0], sout_d[1], sout_d[2], sout_d[3], sout_d[4], sout_d[5], sout_d[6], sout_a[0]; -if(sout_verify_prep[0] == 1) reset sout_d; +if(sout_verify_prep[0] == 1) reset sout_d[0]; +if(sout_verify_prep[0] == 1) reset sout_d[1]; +if(sout_verify_prep[0] == 1) reset sout_d[2]; +if(sout_verify_prep[0] == 1) reset sout_d[3]; +if(sout_verify_prep[0] == 1) reset sout_d[4]; +if(sout_verify_prep[0] == 1) reset sout_d[5]; +if(sout_verify_prep[0] == 1) reset sout_d[6]; if(sout_verify_prep[0] == 1) reset sout_a[0]; if(sout_verify_prep[0] == 1) barrier sout_d, sout_a[0]; if(sout_verify_prep[0] == 1) h sout_d[0]; @@ -207,7 +243,13 @@ if(sout_verify_prep[0] == 1) measure sout_a[0] -> sout_verify_prep[0]; barrier smid_d, sout_d; // Logical H -h smid_d; +h smid_d[0]; +h smid_d[1]; +h smid_d[2]; +h smid_d[3]; +h smid_d[4]; +h smid_d[5]; +h smid_d[6]; // Transversal Logical CX barrier smid_d, sout_d; cx smid_d[0], sout_d[0]; @@ -959,7 +1001,13 @@ sout_last_raw_syn_z = 0; barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -reset sin_d; +reset sin_d[0]; +reset sin_d[1]; +reset sin_d[2]; +reset sin_d[3]; +reset sin_d[4]; +reset sin_d[5]; +reset sin_d[6]; reset sin_a[0]; barrier sin_d, sin_a[0]; h sin_d[0]; @@ -985,7 +1033,13 @@ measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1011,7 +1065,13 @@ if(sin_verify_prep[0] == 1) measure sin_a[0] -> sin_verify_prep[0]; if(sin_verify_prep[0] == 1) barrier sin_d[0], sin_d[1], sin_d[2], sin_d[3], sin_d[4], sin_d[5], sin_d[6], sin_a[0]; -if(sin_verify_prep[0] == 1) reset sin_d; +if(sin_verify_prep[0] == 1) reset sin_d[0]; +if(sin_verify_prep[0] == 1) reset sin_d[1]; +if(sin_verify_prep[0] == 1) reset sin_d[2]; +if(sin_verify_prep[0] == 1) reset sin_d[3]; +if(sin_verify_prep[0] == 1) reset sin_d[4]; +if(sin_verify_prep[0] == 1) reset sin_d[5]; +if(sin_verify_prep[0] == 1) reset sin_d[6]; if(sin_verify_prep[0] == 1) reset sin_a[0]; if(sin_verify_prep[0] == 1) barrier sin_d, sin_a[0]; if(sin_verify_prep[0] == 1) h sin_d[0]; @@ -1418,7 +1478,13 @@ cx sin_d[5], smid_d[5]; cx sin_d[6], smid_d[6]; barrier sin_d, smid_d; // Logical H -h sin_d; +h sin_d[0]; +h sin_d[1]; +h sin_d[2]; +h sin_d[3]; +h sin_d[4]; +h sin_d[5]; +h sin_d[6]; // Destructive logical Z measurement barrier sin_d; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.hadamards.H.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.hadamards.H.qasm index 7bbd2cb20..f6cf38b72 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.hadamards.H.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.hadamards.H.qasm @@ -1,2 +1,8 @@ // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SX.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SX.qasm index 04eaed823..2d807146f 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SX.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SX.qasm @@ -1,2 +1,8 @@ // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SXdg.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SXdg.qasm index e60fedc97..947021261 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SXdg.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SXdg.qasm @@ -1,2 +1,8 @@ // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SY.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SY.qasm index 12a4c4425..82769ab50 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SY.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SY.qasm @@ -1,2 +1,8 @@ // Logical SY -ry(pi/2) q_test; +ry(pi/2) q_test[0]; +ry(pi/2) q_test[1]; +ry(pi/2) q_test[2]; +ry(pi/2) q_test[3]; +ry(pi/2) q_test[4]; +ry(pi/2) q_test[5]; +ry(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SYdg.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SYdg.qasm index 36dbb0458..968b07972 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SYdg.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SYdg.qasm @@ -1,2 +1,8 @@ // Logical SYdg -ry(-pi/2) q_test; +ry(-pi/2) q_test[0]; +ry(-pi/2) q_test[1]; +ry(-pi/2) q_test[2]; +ry(-pi/2) q_test[3]; +ry(-pi/2) q_test[4]; +ry(-pi/2) q_test[5]; +ry(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZ.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZ.qasm index e2f2548af..12227d9df 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZ.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZ.qasm @@ -1,2 +1,8 @@ // Logical SZ -rz(-pi/2) q_test; +rz(-pi/2) q_test[0]; +rz(-pi/2) q_test[1]; +rz(-pi/2) q_test[2]; +rz(-pi/2) q_test[3]; +rz(-pi/2) q_test[4]; +rz(-pi/2) q_test[5]; +rz(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZdg.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZdg.qasm index cf9c5d568..f44bb2ed3 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZdg.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.gates_sq.sqrt_paulis.SZdg.qasm @@ -1,2 +1,8 @@ // Logical SZdg -rz(pi/2) q_test; +rz(pi/2) q_test[0]; +rz(pi/2) q_test[1]; +rz(pi/2) q_test[2]; +rz(pi/2) q_test[3]; +rz(pi/2) q_test[4]; +rz(pi/2) q_test[5]; +rz(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_False.qasm index d24e8e83d..b64ae774b 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_False.qasm @@ -1,5 +1,11 @@ // Logical SYdg -ry(-pi/2) q_test; +ry(-pi/2) q_test[0]; +ry(-pi/2) q_test[1]; +ry(-pi/2) q_test[2]; +ry(-pi/2) q_test[3]; +ry(-pi/2) q_test[4]; +ry(-pi/2) q_test[5]; +ry(-pi/2) q_test[6]; measure q_test[0] -> meas_creg_test[0]; measure q_test[1] -> meas_creg_test[1]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_True.qasm index e688e9383..37004ab0f 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureX_True.qasm @@ -1,5 +1,11 @@ // Logical SYdg -ry(-pi/2) q_test; +ry(-pi/2) q_test[0]; +ry(-pi/2) q_test[1]; +ry(-pi/2) q_test[2]; +ry(-pi/2) q_test[3]; +ry(-pi/2) q_test[4]; +ry(-pi/2) q_test[5]; +ry(-pi/2) q_test[6]; barrier q_test; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_False.qasm index ce20ed635..945baa0c6 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_False.qasm @@ -1,5 +1,11 @@ // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; measure q_test[0] -> meas_creg_test[0]; measure q_test[1] -> meas_creg_test[1]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_True.qasm index 228839684..6c5328026 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.MeasureY_True.qasm @@ -1,5 +1,11 @@ // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; barrier q_test; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_X.qasm index 5c6028a59..8cd02d649 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_X.qasm @@ -1,6 +1,12 @@ // Destructive logical X measurement // Logical SYdg -ry(-pi/2) q_test; +ry(-pi/2) q_test[0]; +ry(-pi/2) q_test[1]; +ry(-pi/2) q_test[2]; +ry(-pi/2) q_test[3]; +ry(-pi/2) q_test[4]; +ry(-pi/2) q_test[5]; +ry(-pi/2) q_test[6]; barrier q_test; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_Y.qasm index 4294bb47f..e666ca602 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.meas.destructive_meas.Measure_Y.qasm @@ -1,6 +1,12 @@ // Destructive logical Y measurement // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; barrier q_test; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+X.qasm index 7bbd2cb20..f6cf38b72 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+X.qasm @@ -1,2 +1,8 @@ // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+Y.qasm index e60fedc97..947021261 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_+Y.qasm @@ -1,2 +1,8 @@ // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-X.qasm index 3d2ffd613..b2e71546c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-X.qasm @@ -1,5 +1,11 @@ // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; // Logical Z z q_test[4]; z q_test[5]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-Y.qasm index 04eaed823..2d807146f 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.LogZeroRot_-Y.qasm @@ -1,2 +1,8 @@ // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepEncodingFTZero_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepEncodingFTZero_True.qasm index ed9cdd5a2..56f0e918a 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepEncodingFTZero_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepEncodingFTZero_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_False.qasm index ff6fc4f6c..32cf61182 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_False.qasm @@ -23,4 +23,10 @@ measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_True.qasm index 40d051cdd..7b4e93395 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+X_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -26,4 +32,10 @@ measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_False.qasm index 330637ef5..2380641d1 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_False.qasm @@ -23,4 +23,10 @@ measure a_test[0] -> init_test[0]; // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_True.qasm index c83b84ff3..f76cdac6d 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Y_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -26,4 +32,10 @@ measure a_test[0] -> init_test[0]; // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Z_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Z_True.qasm index dc40d97b3..74323a9fb 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Z_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_+Z_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_False.qasm index 71d7e2793..f2d9589c8 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_False.qasm @@ -23,7 +23,13 @@ measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; // Logical Z z q_test[4]; z q_test[5]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_True.qasm index c0bc1f9ef..2102a7a29 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-X_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -26,7 +32,13 @@ measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; // Logical Z z q_test[4]; z q_test[5]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_False.qasm index d96cbb6fa..aa92b07ae 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_False.qasm @@ -23,4 +23,10 @@ measure a_test[0] -> init_test[0]; // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_True.qasm index 3215a83a7..c464ebf51 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Y_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -26,4 +32,10 @@ measure a_test[0] -> init_test[0]; // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Z_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Z_True.qasm index a1b3885ff..e6f0aa04c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Z_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_1_-Z_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_False.qasm index 331789ab7..f4203b2a9 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -48,4 +54,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_True.qasm index ce625adf5..a3bc654ec 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+X_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -51,4 +63,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_False.qasm index 2d52f6285..57c8f0d43 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -48,4 +54,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_True.qasm index 4bd83c218..fb46cfe90 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Y_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -51,4 +63,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_False.qasm index 54b59fbc9..7afff58c6 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_True.qasm index e03faf674..e3624ae0a 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_+Z_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_False.qasm index ac1e1374a..84f524cd8 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -48,7 +54,13 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; // Logical Z z q_test[4]; z q_test[5]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_True.qasm index 34df5f218..9ccb741a1 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-X_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -51,7 +63,13 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; // Logical Z z q_test[4]; z q_test[5]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_False.qasm index efbef1b88..486c80f70 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -48,4 +54,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_True.qasm index f6cf9c3f1..9af00e5d0 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Y_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -51,4 +63,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_False.qasm index a6bb1ee34..44afdb8f0 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_True.qasm index de1921d8a..74daf4a7c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_2_-Z_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_False.qasm index 84bd37c73..528c19724 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -50,7 +56,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -74,4 +86,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_True.qasm index 851b5772d..2ab0b1579 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+X_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -53,7 +65,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -77,4 +95,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_False.qasm index f050153c0..cf3eaaa9c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -50,7 +56,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -74,4 +86,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_True.qasm index e3b4da4b6..893087f99 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Y_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -53,7 +65,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -77,4 +95,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SXdg -rx(pi/2) q_test; +rx(pi/2) q_test[0]; +rx(pi/2) q_test[1]; +rx(pi/2) q_test[2]; +rx(pi/2) q_test[3]; +rx(pi/2) q_test[4]; +rx(pi/2) q_test[5]; +rx(pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_False.qasm index 220f5b3d1..ce3b8d44c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -50,7 +56,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_True.qasm index b525ddf4d..a41fb1c94 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_+Z_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -53,7 +65,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_False.qasm index b2aa8acc0..74147c590 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -50,7 +56,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -74,7 +86,13 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; // Logical Z z q_test[4]; z q_test[5]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_True.qasm index c0ddec617..ca1755636 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-X_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -53,7 +65,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -77,7 +95,13 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical H -h q_test; +h q_test[0]; +h q_test[1]; +h q_test[2]; +h q_test[3]; +h q_test[4]; +h q_test[5]; +h q_test[6]; // Logical Z z q_test[4]; z q_test[5]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_False.qasm index dee827abb..234e4ba9c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -50,7 +56,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -74,4 +86,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_True.qasm index 1215149d9..3ad5a9083 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Y_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -53,7 +65,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -77,4 +95,10 @@ if(init_test[0] == 1) cx q_test[3], a_test[0]; if(init_test[0] == 1) measure a_test[0] -> init_test[0]; // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_False.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_False.qasm index 6fad2cd64..10c4fdd22 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_False.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_False.qasm @@ -24,7 +24,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -50,7 +56,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_True.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_True.qasm index cfe89220c..18cdd412c 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_True.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.qeclib.steane.preps.pauli_states.PrepRUS_3_-Z_True.qasm @@ -1,7 +1,13 @@ barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -reset q_test; +reset q_test[0]; +reset q_test[1]; +reset q_test[2]; +reset q_test[3]; +reset q_test[4]; +reset q_test[5]; +reset q_test[6]; reset a_test[0]; barrier q_test, a_test[0]; h q_test[0]; @@ -27,7 +33,13 @@ measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; @@ -53,7 +65,13 @@ if(init_test[0] == 1) measure a_test[0] -> init_test[0]; if(init_test[0] == 1) barrier q_test[0], q_test[1], q_test[2], q_test[3], q_test[4], q_test[5], q_test[6], a_test[0]; -if(init_test[0] == 1) reset q_test; +if(init_test[0] == 1) reset q_test[0]; +if(init_test[0] == 1) reset q_test[1]; +if(init_test[0] == 1) reset q_test[2]; +if(init_test[0] == 1) reset q_test[3]; +if(init_test[0] == 1) reset q_test[4]; +if(init_test[0] == 1) reset q_test[5]; +if(init_test[0] == 1) reset q_test[6]; if(init_test[0] == 1) reset a_test[0]; if(init_test[0] == 1) barrier q_test, a_test[0]; if(init_test[0] == 1) h q_test[0]; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_X.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_X.qasm index 322ee5783..2e2b802e2 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_X.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_X.qasm @@ -1,6 +1,12 @@ // Destructive logical X measurement // Logical SYdg -ry(-pi/2) q_test; +ry(-pi/2) q_test[0]; +ry(-pi/2) q_test[1]; +ry(-pi/2) q_test[2]; +ry(-pi/2) q_test[3]; +ry(-pi/2) q_test[4]; +ry(-pi/2) q_test[5]; +ry(-pi/2) q_test[6]; barrier q_test; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_Y.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_Y.qasm index b54458746..2513e9543 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_Y.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/pecos.slr.block.Block_Y.qasm @@ -1,6 +1,12 @@ // Destructive logical Y measurement // Logical SX -rx(-pi/2) q_test; +rx(-pi/2) q_test[0]; +rx(-pi/2) q_test[1]; +rx(-pi/2) q_test[2]; +rx(-pi/2) q_test[3]; +rx(-pi/2) q_test[4]; +rx(-pi/2) q_test[5]; +rx(-pi/2) q_test[6]; barrier q_test; diff --git a/python/tests/pecos/regression/test_qasm/regression_qasm/phys.tele_block_telep_block.qasm b/python/tests/pecos/regression/test_qasm/regression_qasm/phys.tele_block_telep_block.qasm index 014a9b4c2..3cdea174e 100644 --- a/python/tests/pecos/regression/test_qasm/regression_qasm/phys.tele_block_telep_block.qasm +++ b/python/tests/pecos/regression/test_qasm/regression_qasm/phys.tele_block_telep_block.qasm @@ -6,7 +6,8 @@ creg m2[2]; h q[0]; cx q[0], q[1]; measure q -> m; -reset q; +reset q[0]; +reset q[1]; h q[0]; cx q[0], q[1]; measure q -> m2;