| 1699 | } |
| 1700 | |
| 1701 | void validate_newQuregParams(int numQubits, int isDensMatr, int isDistrib, int isGpuAccel, int isMultithread, QuESTEnv env, const char* caller) { |
| 1702 | |
| 1703 | // some of the below validation involves getting distributed node consensus, which |
| 1704 | // can be an expensive synchronisation, which we avoid if validation is anyway disabled |
| 1705 | if (!global_isValidationEnabled) |
| 1706 | return; |
| 1707 | |
| 1708 | assertQuregNonEmpty(numQubits, caller); |
| 1709 | assertQuregDeployFlagsRecognised(isDensMatr, isDistrib, isGpuAccel, isMultithread, caller); |
| 1710 | assertQuregDeploysEnabledByEnv(isDistrib, isGpuAccel, isMultithread, env, caller); |
| 1711 | assertQuregTotalNumAmpsDontExceedMaxIndex(numQubits, isDensMatr, caller); |
| 1712 | assertQuregLocalMemDoesntExceedMaxSizeof(numQubits, isDensMatr, isDistrib, env, caller); |
| 1713 | assertQuregNotDistributedOverTooManyNodes(numQubits, isDensMatr, isDistrib, env, caller); |
| 1714 | assertQuregFitsInCpuMem(numQubits, isDensMatr, isDistrib, env, caller); |
| 1715 | assertQuregFitsInGpuMem(numQubits, isDensMatr, isDistrib, isGpuAccel, env, caller); |
| 1716 | } |
| 1717 | |
| 1718 | void validate_newQuregAllocs(Qureg qureg, const char* caller) { |
| 1719 |
no test coverage detected