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

Function assertValidQubits

quest/src/core/validation.cpp:3587–3601  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3585}
3586
3587void 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
3603void validate_target(Qureg qureg, int target, const char* caller) {
3604

Callers 2

validate_targetsFunction · 0.85
validate_controlsFunction · 0.85

Calls 4

assertThatFunction · 0.85
mem_isAllocatedFunction · 0.85
assertValidQubitFunction · 0.85
areQubitsUniqueFunction · 0.85

Tested by

no test coverage detected