Loading examples/qsharp/QirTarget.qs +12 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,10 @@ namespace Microsoft.Quantum.Instructions { operation Rz (theta : Double, qb : Qubit) : Unit { body intrinsic; } operation Reset(qb : Qubit) : Unit { body intrinsic; } } namespace Microsoft.Quantum.Intrinsic { Loading Loading @@ -148,4 +152,12 @@ namespace Microsoft.Quantum.Intrinsic { CNOT(ctls[0], qb); } } @Inline() operation Reset(qb : Qubit) : Unit { body (...) { Phys.Reset(qb); } } } No newline at end of file examples/qsharp/bell.qs +3 −6 Original line number Diff line number Diff line Loading @@ -18,13 +18,10 @@ operation TestBell(count : Int) : Int { // Count the number of ones we saw: if res0 == One { set numOnes += 1; // Reset X(q[0]); } if res1 == One { // Reset X(q[0]); } Reset(q[0]); Reset(q[1]); } return numOnes; } Loading mlir/qir_qrt/qir-qis-ms-compat.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -201,4 +201,6 @@ double __quantum__qis__intasdouble__body(int32_t intVal) { std::cout << "CALL: " << __PRETTY_FUNCTION__ << "\n"; return static_cast<double>(intVal); } void __quantum__qis__reset__body(Qubit *q) { __quantum__qis__reset(q); } } No newline at end of file mlir/qir_qrt/qir-qrt-ms-compat.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ void __quantum__qis__rx__body(double theta, Qubit *q); void __quantum__qis__ry__body(double theta, Qubit *q); void __quantum__qis__rz__body(double theta, Qubit *q); void __quantum__qis__cnot__body(Qubit *src, Qubit *tgt); void __quantum__qis__reset__body(Qubit *q); Result *__quantum__qis__measure__body(Array *bases, Array *qubits); double __quantum__qis__intasdouble__body(int32_t intVal); } Loading
examples/qsharp/QirTarget.qs +12 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,10 @@ namespace Microsoft.Quantum.Instructions { operation Rz (theta : Double, qb : Qubit) : Unit { body intrinsic; } operation Reset(qb : Qubit) : Unit { body intrinsic; } } namespace Microsoft.Quantum.Intrinsic { Loading Loading @@ -148,4 +152,12 @@ namespace Microsoft.Quantum.Intrinsic { CNOT(ctls[0], qb); } } @Inline() operation Reset(qb : Qubit) : Unit { body (...) { Phys.Reset(qb); } } } No newline at end of file
examples/qsharp/bell.qs +3 −6 Original line number Diff line number Diff line Loading @@ -18,13 +18,10 @@ operation TestBell(count : Int) : Int { // Count the number of ones we saw: if res0 == One { set numOnes += 1; // Reset X(q[0]); } if res1 == One { // Reset X(q[0]); } Reset(q[0]); Reset(q[1]); } return numOnes; } Loading
mlir/qir_qrt/qir-qis-ms-compat.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -201,4 +201,6 @@ double __quantum__qis__intasdouble__body(int32_t intVal) { std::cout << "CALL: " << __PRETTY_FUNCTION__ << "\n"; return static_cast<double>(intVal); } void __quantum__qis__reset__body(Qubit *q) { __quantum__qis__reset(q); } } No newline at end of file
mlir/qir_qrt/qir-qrt-ms-compat.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ void __quantum__qis__rx__body(double theta, Qubit *q); void __quantum__qis__ry__body(double theta, Qubit *q); void __quantum__qis__rz__body(double theta, Qubit *q); void __quantum__qis__cnot__body(Qubit *src, Qubit *tgt); void __quantum__qis__reset__body(Qubit *q); Result *__quantum__qis__measure__body(Array *bases, Array *qubits); double __quantum__qis__intasdouble__body(int32_t intVal); }