int dense_vector_solve_positive(Dense *A, DenseUPLO uplo, DenseVector* b) { lapack_int status; enum CBLAS_ORDER order; char ul; /* todo: check A and b have same order */ order = (A->order == DENSE_COLUMN_MAJOR)? CblasColMajor:CblasRowMajor; ul = (uplo==DENSE_LO)?'L':'U'; status = LAPACKE_dposv(order,ul,A->rows,1,A->data,A->tda,b->data,b->size); return PM_SUCCESS; }
template <> inline int posv(const char order, const char uplo, const int N, const int M, double *A, const int LDA, double *B, const int LDB) { return LAPACKE_dposv(order, uplo, N, M, A, LDA, B, LDB); }