| 1565 | } |
| 1566 | |
| 1567 | void assertQuregTotalNumAmpsDontExceedMaxIndex(int numQubits, int isDensMatr, const char* caller) { |
| 1568 | |
| 1569 | int maxNumQubits = mem_getMaxNumQuregQubitsBeforeIndexOverflow(isDensMatr); |
| 1570 | |
| 1571 | // make message specific to statevector or density matrix |
| 1572 | string msg = (isDensMatr)? |
| 1573 | report::NEW_DENSMATR_QUREG_NUM_AMPS_WOULD_EXCEED_QINDEX : |
| 1574 | report::NEW_STATEVEC_QUREG_NUM_AMPS_WOULD_EXCEED_QINDEX ; |
| 1575 | |
| 1576 | tokenSubs vars = { |
| 1577 | {"${NUM_QUBITS}", numQubits}, |
| 1578 | {"${MAX_QUBITS}", maxNumQubits}}; |
| 1579 | |
| 1580 | assertThat(numQubits <= maxNumQubits, msg, vars, caller); |
| 1581 | } |
| 1582 | |
| 1583 | void assertQuregLocalMemDoesntExceedMaxSizeof(int numQubits, int isDensMatr, int isDistrib, QuESTEnv env, const char* caller) { |
| 1584 |
no test coverage detected