MCPcopy Create free account
hub / github.com/QuEST-Kit/QuEST / validate_controlsAndPauliStrSumTargets

Function validate_controlsAndPauliStrSumTargets

quest/src/core/validation.cpp:3378–3387  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3376}
3377
3378void 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
3389void validate_controlAndPauliStrSumTargets(Qureg qureg, int ctrl, PauliStrSum sum, const char* caller) {
3390

Calls 5

validate_controlsFunction · 0.85
paulis_getTargetBitMaskFunction · 0.85
assertThatFunction · 0.85
areQubitsDisjointFunction · 0.85

Tested by

no test coverage detected