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

Function areQubitsUnique

quest/src/core/validation.cpp:3545–3560  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3543 */
3544
3545bool areQubitsUnique(int* qubits, int numQubits) {
3546
3547 // assumes all elements of qubits are < 64
3548 qindex mask = 0;
3549
3550 // avoids calling getBitMask() so as to avoid
3551 // gratuitous, full enumeration of qubits when
3552 // numQubits is ridiculously long
3553 for (int n=0; n<numQubits; n++)
3554 if (getBit(mask, qubits[n]))
3555 return false;
3556 else
3557 mask = setBit(mask, qubits[n], 1);
3558
3559 return true;
3560}
3561
3562bool areQubitsDisjoint(qindex qubitsMaskA, int* qubitsB, int numQubitsB) {
3563

Callers 1

assertValidQubitsFunction · 0.85

Calls 2

getBitFunction · 0.85
setBitFunction · 0.70

Tested by

no test coverage detected