| 213 | |
| 214 | |
| 215 | void setQuregToPartialTrace(Qureg out, Qureg in, int* traceOutQubits, int numTraceQubits) { |
| 216 | validate_quregFields(in, __func__); |
| 217 | validate_quregFields(out, __func__); |
| 218 | validate_quregIsDensityMatrix(in, __func__); |
| 219 | validate_quregIsDensityMatrix(out, __func__); |
| 220 | validate_targets(in, traceOutQubits, numTraceQubits, __func__); |
| 221 | validate_quregCanBeSetToReducedDensMatr(out, in, numTraceQubits, __func__); |
| 222 | |
| 223 | auto targets = util_getVector(traceOutQubits, numTraceQubits); |
| 224 | localiser_densmatr_partialTrace(in, out, targets); |
| 225 | } |
| 226 | |
| 227 | |
| 228 | void setQuregToReducedDensityMatrix(Qureg out, Qureg in, int* retainQubits, int numRetainQubits) { |
nothing calls this directly
no test coverage detected