MCPcopy Create free account
hub / github.com/QuEST-Kit/QuEST / validate_fullStateDiagMatrNewElems

Function validate_fullStateDiagMatrNewElems

quest/src/core/validation.cpp:2197–2226  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2195}
2196
2197void validate_fullStateDiagMatrNewElems(FullStateDiagMatr matr, qindex startInd, qindex numElems, const char* caller) {
2198
2199 assertThat(
2200 startInd >= 0 && startInd < matr.numElems,
2201 report::FULL_STATE_DIAG_MATR_NEW_ELEMS_INVALID_START_INDEX,
2202 {{"${START_IND}", startInd}, {"${MATR_NUM_ELEMS}", matr.numElems}},
2203 caller);
2204
2205 assertThat(
2206 numElems > 0,
2207 report::FULL_STATE_DIAG_MATR_NEW_ELEMS_NUM_IS_NON_POSITIVE,
2208 {{"${NUM_ELEMS}", numElems}}, caller);
2209
2210 assertThat(
2211 numElems <= matr.numElems,
2212 report::FULL_STATE_DIAG_MATR_NEW_ELEMS_NUM_EXCEEDS_MAX_NUM,
2213 {{"${NEW_NUM_ELEMS}", numElems}, {"${MATR_NUM_ELEMS}", matr.numElems}},
2214 caller);
2215
2216 qindex endIndExcl = startInd + numElems;
2217 tokenSubs vars = {
2218 {"${START_IND}", startInd},
2219 {"${MATR_NUM_ELEMS}", matr.numElems},
2220 {"${END_IND_EXCL}", endIndExcl}};
2221
2222 assertThat(
2223 endIndExcl <= matr.numElems,
2224 report::FULL_STATE_DIAG_MATR_NEW_ELEMS_EXCEEDS_END_INDEX,
2225 vars, caller);
2226}
2227
2228void validate_matrixNumQubitsMatchesParam(int numMatrQubits, int numSetterQubits, const char* caller) {
2229

Calls 1

assertThatFunction · 0.85

Tested by

no test coverage detected