| 226 | |
| 227 | |
| 228 | void setQuregToReducedDensityMatrix(Qureg out, Qureg in, int* retainQubits, int numRetainQubits) { |
| 229 | validate_quregFields(in, __func__); |
| 230 | validate_quregFields(out, __func__); |
| 231 | validate_quregIsDensityMatrix(in, __func__); |
| 232 | validate_quregIsDensityMatrix(out, __func__); |
| 233 | validate_targets(in, retainQubits, numRetainQubits, __func__); |
| 234 | validate_quregCanBeSetToReducedDensMatr(out, in, in.numQubits - numRetainQubits, __func__); |
| 235 | |
| 236 | auto traceQubits = util_getNonTargetedQubits(retainQubits, numRetainQubits, in.numQubits); |
| 237 | localiser_densmatr_partialTrace(in, out, traceQubits); |
| 238 | } |
| 239 | |
| 240 | |
| 241 | void setQuregToWeightedSum(Qureg out, qcomp* coeffs, Qureg* in, int numIn) { |
nothing calls this directly
no test coverage detected