| 25 | } |
| 26 | |
| 27 | static string transformQubitFormat(Qubit *qubit) |
| 28 | { |
| 29 | string str_qubit; |
| 30 | string str_expr; |
| 31 | |
| 32 | auto qubit_ref = dynamic_cast<QubitReferenceInterface *>(qubit); |
| 33 | if (qubit_ref) //q[c[1]] |
| 34 | { |
| 35 | qubit->getPhysicalQubitPtr()->getQubitAddr(); |
| 36 | traversalInOrderPCtr(qubit_ref->getExprPtr().get(), str_expr); |
| 37 | str_qubit = "q[" + str_expr + "]"; |
| 38 | } |
| 39 | else //q[1] |
| 40 | { |
| 41 | str_qubit = "q[" + to_string(qubit->getPhysicalQubitPtr()->getQubitAddr()) + "]"; |
| 42 | } |
| 43 | |
| 44 | return str_qubit; |
| 45 | } |
| 46 | |
| 47 | QProgToOriginIR::QProgToOriginIR(QuantumMachine * quantum_machine) |
| 48 | { |
no test coverage detected