1 //#define CXXBLAS_DEBUG_OUT(x) std::cerr << x << std::endl;
2
3 #define STR(x) #x
4 #define STRING(x) STR(x)
5
6 #define FLENS_DEFAULT_INDEXTYPE int
7
8 #include <flens/lapack/interface/include/config.h>
9
10
11 namespace flens { namespace lapack {
12
13 extern "C" {
14
15 //-- dgecon --------------------------------------------------------------------
16 void
17 LAPACK_DECL(dpocon)(const char *UPLO,
18 const INTEGER *N,
19 const DOUBLE *A,
20 const INTEGER *LDA,
21 const DOUBLE *ANORM,
22 DOUBLE *RCOND,
23 DOUBLE *WORK,
24 INTEGER *IWORK,
25 INTEGER *INFO)
26 {
27 DEBUG_FLENS_LAPACK("dpocon");
28 //
29 // Test the input parameters so that we pass LAPACK error checks
30 //
31 *INFO = 0;
32 if (*UPLO!='U' && *UPLO!='L') {
33 *INFO = -1;
34 } else if (*N<0) {
35 *INFO = -2;
36 } else if (*LDA<std::max(INTEGER(1), *N)) {
37 *INFO = -4;
38 } else if (*ANORM<0) {
39 *INFO = -5;
40 }
41 if (*INFO!=0) {
42 *INFO = -(*INFO);
43 LAPACK_ERROR("DPOCON", INFO);
44 *INFO = -(*INFO);
45 return;
46 }
47 //
48 // Call FLENS implementation
49 //
50 StorageUpLo upLo = StorageUpLo(*UPLO);
51 DConstFSView AFS = DConstFSView(*N, *N, A, *LDA);
52 DConstSyMatrixView _A = DConstSyMatrixView(AFS, upLo);
53 DDenseVectorView work = DArrayView(*N*3, WORK, 1);
54 IDenseVectorView iwork = IArrayView(*N, IWORK, 1);
55
56 pocon(_A, *ANORM, *RCOND, work, iwork);
57 }
58
59 } // extern "C"
60
61 } } // namespace lapack, flens
2
3 #define STR(x) #x
4 #define STRING(x) STR(x)
5
6 #define FLENS_DEFAULT_INDEXTYPE int
7
8 #include <flens/lapack/interface/include/config.h>
9
10
11 namespace flens { namespace lapack {
12
13 extern "C" {
14
15 //-- dgecon --------------------------------------------------------------------
16 void
17 LAPACK_DECL(dpocon)(const char *UPLO,
18 const INTEGER *N,
19 const DOUBLE *A,
20 const INTEGER *LDA,
21 const DOUBLE *ANORM,
22 DOUBLE *RCOND,
23 DOUBLE *WORK,
24 INTEGER *IWORK,
25 INTEGER *INFO)
26 {
27 DEBUG_FLENS_LAPACK("dpocon");
28 //
29 // Test the input parameters so that we pass LAPACK error checks
30 //
31 *INFO = 0;
32 if (*UPLO!='U' && *UPLO!='L') {
33 *INFO = -1;
34 } else if (*N<0) {
35 *INFO = -2;
36 } else if (*LDA<std::max(INTEGER(1), *N)) {
37 *INFO = -4;
38 } else if (*ANORM<0) {
39 *INFO = -5;
40 }
41 if (*INFO!=0) {
42 *INFO = -(*INFO);
43 LAPACK_ERROR("DPOCON", INFO);
44 *INFO = -(*INFO);
45 return;
46 }
47 //
48 // Call FLENS implementation
49 //
50 StorageUpLo upLo = StorageUpLo(*UPLO);
51 DConstFSView AFS = DConstFSView(*N, *N, A, *LDA);
52 DConstSyMatrixView _A = DConstSyMatrixView(AFS, upLo);
53 DDenseVectorView work = DArrayView(*N*3, WORK, 1);
54 IDenseVectorView iwork = IArrayView(*N, IWORK, 1);
55
56 pocon(_A, *ANORM, *RCOND, work, iwork);
57 }
58
59 } // extern "C"
60
61 } } // namespace lapack, flens