| 3585 | } |
| 3586 | |
| 3587 | void assertValidQubits( |
| 3588 | Qureg qureg, int* qubits, int numQubits, bool canNumIncludeZero, const char* caller, |
| 3589 | string msgNegNum, string msgNumExceedsQureg, string msgNullPtr, string msgBadInd, string msgDuplicates |
| 3590 | ) { |
| 3591 | assertThat(numQubits >= (canNumIncludeZero? 0 : 1), msgNegNum, {{"${NUM_QUBITS}", numQubits}}, caller); |
| 3592 | assertThat(numQubits <= qureg.numQubits, msgNumExceedsQureg, {{"${NUM_QUBITS}", numQubits}, {"${QUREG_QUBITS}", qureg.numQubits}}, caller); |
| 3593 | |
| 3594 | if (numQubits > 0) |
| 3595 | assertThat(mem_isAllocated(qubits), msgNullPtr, caller); |
| 3596 | |
| 3597 | for (int n=0; n<numQubits; n++) |
| 3598 | assertValidQubit(qureg, qubits[n], msgBadInd, caller); |
| 3599 | |
| 3600 | assertThat(areQubitsUnique(qubits, numQubits), msgDuplicates, caller); |
| 3601 | } |
| 3602 | |
| 3603 | void validate_target(Qureg qureg, int target, const char* caller) { |
| 3604 |
no test coverage detected