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

Function validate_pauliStrSumFields

quest/src/core/validation.cpp:3338–3353  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3336bool areQubitsDisjoint(qindex qubitsMaskA, int* qubitsB, int numQubitsB);
3337
3338void validate_pauliStrSumFields(PauliStrSum sum, const char* caller) {
3339
3340 assertThat(sum.numTerms > 0, report::INVALID_PAULI_STR_SUM_FIELDS, {{"${NUM_TERMS}", sum.numTerms}}, caller);
3341
3342 assertThat(mem_isAllocated(sum.coeffs), report::INVALID_PAULI_STR_HEAP_PTR, caller);
3343 assertThat(mem_isAllocated(sum.strings), report::INVALID_PAULI_STR_HEAP_PTR, caller);
3344
3345 assertThat(mem_isAllocated(sum.isApproxHermitian), report::INVALID_HEAP_FLAG_PTR, caller);
3346
3347 // assert isApproxHermitian has valid value
3348 int flag = *sum.isApproxHermitian;
3349 tokenSubs vars = {
3350 {"${BAD_FLAG}", flag},
3351 {"${UNKNOWN_FLAG}", validate_STRUCT_PROPERTY_UNKNOWN_FLAG}};
3352 assertThat(flag == 0 || flag == 1 || flag == validate_STRUCT_PROPERTY_UNKNOWN_FLAG, report::INVALID_HEAP_FLAG_VALUE, vars, caller);
3353}
3354
3355void validate_pauliStrSumIsHermitian(PauliStrSum sum, const char* caller) {
3356

Calls 2

assertThatFunction · 0.85
mem_isAllocatedFunction · 0.85

Tested by

no test coverage detected