Loading runtime/qrt/impls/ftqc/ftqc_qrt.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,10 @@ public: applyGate("U", {qidx.second}, {theta, phi, lambda}); } virtual void reset(const qubit &qidx) override { applyGate("Reset", {qidx.second}); } // Measure-Z virtual bool mz(const qubit &qidx) override { applyGate("Measure", {qidx.second}); Loading runtime/qrt/impls/nisq/nisq_qrt.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,8 @@ class NISQ : public ::quantum::QuantumRuntime { one_qubit_inst("U", qidx, {theta, phi, lambda}); } void reset(const qubit &qidx) override { one_qubit_inst("Reset", qidx); } bool mz(const qubit &qidx) override { one_qubit_inst("Measure", qidx); return false; Loading runtime/qrt/qrt.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,8 @@ void u3(const qubit &qidx, const double theta, const double phi, qrt_impl->u3(qidx, theta, phi, lambda); } void reset(const qubit &qidx) { qrt_impl->reset(qidx); } bool mz(const qubit &qidx) { return qrt_impl->mz(qidx); } void cnot(const qubit &src_idx, const qubit &tgt_idx) { Loading runtime/qrt/qrt.hpp +5 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,8 @@ public: virtual void u1(const qubit &qidx, const double theta) = 0; virtual void u3(const qubit &qidx, const double theta, const double phi, const double lambda) = 0; // Reset virtual void reset(const qubit &qidx) = 0; // Measure-Z virtual bool mz(const qubit &qidx) = 0; Loading Loading @@ -126,6 +127,9 @@ void u1(const qubit &qidx, const double theta); void u3(const qubit &qidx, const double theta, const double phi, const double lambda); // Reset a qubit (to zero state) void reset(const qubit &qidx); // Measure-Z bool mz(const qubit &qidx); Loading Loading
runtime/qrt/impls/ftqc/ftqc_qrt.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,10 @@ public: applyGate("U", {qidx.second}, {theta, phi, lambda}); } virtual void reset(const qubit &qidx) override { applyGate("Reset", {qidx.second}); } // Measure-Z virtual bool mz(const qubit &qidx) override { applyGate("Measure", {qidx.second}); Loading
runtime/qrt/impls/nisq/nisq_qrt.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,8 @@ class NISQ : public ::quantum::QuantumRuntime { one_qubit_inst("U", qidx, {theta, phi, lambda}); } void reset(const qubit &qidx) override { one_qubit_inst("Reset", qidx); } bool mz(const qubit &qidx) override { one_qubit_inst("Measure", qidx); return false; Loading
runtime/qrt/qrt.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,8 @@ void u3(const qubit &qidx, const double theta, const double phi, qrt_impl->u3(qidx, theta, phi, lambda); } void reset(const qubit &qidx) { qrt_impl->reset(qidx); } bool mz(const qubit &qidx) { return qrt_impl->mz(qidx); } void cnot(const qubit &src_idx, const qubit &tgt_idx) { Loading
runtime/qrt/qrt.hpp +5 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,8 @@ public: virtual void u1(const qubit &qidx, const double theta) = 0; virtual void u3(const qubit &qidx, const double theta, const double phi, const double lambda) = 0; // Reset virtual void reset(const qubit &qidx) = 0; // Measure-Z virtual bool mz(const qubit &qidx) = 0; Loading Loading @@ -126,6 +127,9 @@ void u1(const qubit &qidx, const double theta); void u3(const qubit &qidx, const double theta, const double phi, const double lambda); // Reset a qubit (to zero state) void reset(const qubit &qidx); // Measure-Z bool mz(const qubit &qidx); Loading