| 3376 | } |
| 3377 | |
| 3378 | void validate_controlsAndPauliStrSumTargets(Qureg qureg, int* ctrls, int numCtrls, PauliStrSum sum, const char* caller) { |
| 3379 | |
| 3380 | // validate targets and controls in isolation |
| 3381 | validate_pauliStrSumTargets(sum, qureg, caller); |
| 3382 | validate_controls(qureg, ctrls, numCtrls, caller); |
| 3383 | |
| 3384 | // validate that they do not overlap (i.e. sum has only I at ctrls, never X Y Z) |
| 3385 | qindex targetMask = paulis_getTargetBitMask(sum); |
| 3386 | assertThat(areQubitsDisjoint(targetMask, ctrls, numCtrls), report::PAULI_STR_SUM_OVERLAPS_CONTROLS, caller); |
| 3387 | } |
| 3388 | |
| 3389 | void validate_controlAndPauliStrSumTargets(Qureg qureg, int ctrl, PauliStrSum sum, const char* caller) { |
| 3390 |
no test coverage detected