| 168 | |
| 169 | |
| 170 | std::array<vector<int>,3> paulis_getSeparateInds(PauliStr str) { |
| 171 | |
| 172 | vector<int> iXYZ = paulis_getTargetInds(str); |
| 173 | vector<int> iX, iY, iZ; |
| 174 | |
| 175 | vector<int>* ptrs[] = {&iX, &iY, &iZ}; |
| 176 | |
| 177 | for (int i : iXYZ) |
| 178 | ptrs[paulis_getPauliAt(str, i) - 1]->push_back(i); |
| 179 | |
| 180 | return {iX, iY, iZ}; |
| 181 | } |
| 182 | |
| 183 | |
| 184 | PauliStr paulis_getShiftedPauliStr(PauliStr str, int pauliShift) { |
no test coverage detected