| 3336 | bool areQubitsDisjoint(qindex qubitsMaskA, int* qubitsB, int numQubitsB); |
| 3337 | |
| 3338 | void 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 | |
| 3355 | void validate_pauliStrSumIsHermitian(PauliStrSum sum, const char* caller) { |
| 3356 |
no test coverage detected