| 126 | } |
| 127 | |
| 128 | QCircuit QAdd(QVec& a, QVec& b, QVec& k) |
| 129 | { |
| 130 | auto len = a.size(); |
| 131 | QCircuit circ; |
| 132 | circ << X(b[len - 1]); |
| 133 | circ << QSub(a, b, k); |
| 134 | circ << X(b[len - 1]); |
| 135 | return circ; |
| 136 | } |
| 137 | |
| 138 | QCircuit QComplement(QVec& a, QVec& k) |
| 139 | { |