| 2147 | */ |
| 2148 | |
| 2149 | void validate_matrixNumNewElems(int numQubits, vector<vector<qcomp>> elems, const char* caller) { |
| 2150 | |
| 2151 | // CompMatr accept 2D elems |
| 2152 | qindex dim = powerOf2(numQubits); |
| 2153 | tokenSubs vars = { |
| 2154 | {"${NUM_QUBITS}", numQubits}, |
| 2155 | {"${NUM_EXPECTED_ROWS}", dim}, |
| 2156 | {"${NUM_GIVEN_ROWS}", elems.size()}}; |
| 2157 | |
| 2158 | assertThat(dim == (qindex) elems.size(), report::COMP_MATR_NEW_ELEMS_WRONG_NUM_ROWS, vars, caller); |
| 2159 | |
| 2160 | for(auto & row : elems) { |
| 2161 | |
| 2162 | vars = { |
| 2163 | {"${NUM_QUBITS}", numQubits}, |
| 2164 | {"${EXPECTED_DIM}", dim}, |
| 2165 | {"${NUM_GIVEN_ELEMS}", row.size()}}; |
| 2166 | |
| 2167 | assertThat(dim == (qindex) row.size(), report::COMP_MATR_NEW_ELEMS_WRONG_ROW_DIM, vars, caller); |
| 2168 | } |
| 2169 | } |
| 2170 | void validate_matrixNumNewElems(int numQubits, vector<qcomp> elems, const char* caller) { |
| 2171 | |
| 2172 | // DiagMatr accept 1D elems |
no test coverage detected