int clapack_dpotrf(const enum ATLAS_ORDER Order, const enum ATLAS_UPLO Uplo, const int N, double *A, const int lda) { int ierr=0; if (Order != CblasRowMajor && Order != CblasColMajor) { ierr = -1; cblas_xerbla(1, "clapack_dpotrf", "Order must be %d or %d, but is set to %d\n", CblasRowMajor, CblasColMajor, Order); } if (Uplo != CblasUpper && Uplo != CblasLower) { ierr = -2; cblas_xerbla(2, "clapack_dpotrf", "Uplo must be %d or %d, but is set to %d\n", CblasUpper, CblasLower, Uplo); } if (N < 0) { ierr = -3; cblas_xerbla(3, "clapack_dpotrf", "N cannot be less than zero 0,; is set to %d.\n", N); } if (lda < N || lda < 1) { ierr = -5; cblas_xerbla(5, "clapack_dpotrf", "lda must be >= MAX(N,1): lda=%d N=%d\n", lda, N); } if (!ierr) ierr = ATL_dpotrf(Order, Uplo, N, A, lda); return(ierr); }
int clapack_dposv(const enum ATLAS_ORDER Order, const enum ATLAS_UPLO Uplo, const int N, const int NRHS, double *A, const int lda, double *B, const int ldb) { int ierr = 0; if (Order != CblasRowMajor && Order != CblasColMajor) { ierr = -1; cblas_xerbla(1, "clapack_dposv", "Order must be %d or %d, but is set to %d\n", CblasRowMajor, CblasColMajor, Order); } if (Uplo != CblasUpper && Uplo != CblasLower) { ierr = -2; cblas_xerbla(2, "clapack_dposv", "Uplo must be %d or %d, but is set to %d\n", CblasUpper, CblasLower, Uplo); } if (N < 0) { ierr = -3; cblas_xerbla(3, "clapack_dposv", "N cannot be less than zero 0,; is set to %d.\n", N); } if (NRHS < 0) { ierr = -4; cblas_xerbla(4, "clapack_dposv", "NRHS cannot be less than zero 0,; is set to %d.\n", NRHS); } if (lda < N || lda < 1) { ierr = -6; cblas_xerbla(6, "clapack_dposv", "lda must be >= MAX(N,1): lda=%d N=%d\n", lda, N); } if (ldb < N || ldb < 1) { ierr = -8; cblas_xerbla(8, "clapack_dposv", "ldb must be >= MAX(N,1): ldb=%d N=%d\n", ldb, N); } if (!ierr) ierr = ATL_dpotrf(Order, Uplo, N, A, lda); if (!ierr) ATL_dpotrs(Order, Uplo, N, NRHS, A, lda, B, ldb); return(ierr); }