| 249 | |
| 250 | |
| 251 | qreal calcProbOfMultiQubitOutcome(Qureg qureg, int* qubits, int* outcomes, int numQubits) { |
| 252 | validate_quregFields(qureg, __func__); |
| 253 | validate_targets(qureg, qubits, numQubits, __func__); |
| 254 | validate_measurementOutcomesAreValid(outcomes, numQubits, __func__); |
| 255 | |
| 256 | auto qubitVec = util_getVector(qubits, numQubits); |
| 257 | auto outcomeVec = util_getVector(outcomes, numQubits); |
| 258 | |
| 259 | return (qureg.isDensityMatrix)? |
| 260 | localiser_densmatr_calcProbOfMultiQubitOutcome(qureg, qubitVec, outcomeVec): |
| 261 | localiser_statevec_calcProbOfMultiQubitOutcome(qureg, qubitVec, outcomeVec); |
| 262 | } |
| 263 | |
| 264 | |
| 265 | void calcProbsOfAllMultiQubitOutcomes(qreal* outcomeProbs, Qureg qureg, int* qubits, int numQubits) { |
no test coverage detected