| 171 | #endif // USE_MKL |
| 172 | |
| 173 | sparse_operation_t toSparseTranspose(af_mat_prop opt) { |
| 174 | sparse_operation_t out = SPARSE_OPERATION_NON_TRANSPOSE; |
| 175 | switch (opt) { |
| 176 | case AF_MAT_NONE: out = SPARSE_OPERATION_NON_TRANSPOSE; break; |
| 177 | case AF_MAT_TRANS: out = SPARSE_OPERATION_TRANSPOSE; break; |
| 178 | case AF_MAT_CTRANS: out = SPARSE_OPERATION_CONJUGATE_TRANSPOSE; break; |
| 179 | default: AF_ERROR("INVALID af_mat_prop", AF_ERR_ARG); |
| 180 | } |
| 181 | return out; |
| 182 | } |
| 183 | |
| 184 | template<typename T, int value> |
| 185 | scale_type<T> getScale() { // NOLINT(readability-const-return-type) |