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 //-- dgeequ --------------------------------------------------------------------
16 void
17 LAPACK_DECL(dgeequ)(const INTEGER    *M,
18                     const INTEGER    *N,
19                     const DOUBLE     *A,
20                     const INTEGER    *LDA,
21                     DOUBLE           *R,
22                     DOUBLE           *C,
23                     DOUBLE           *ROWCND,
24                     DOUBLE           *COLCND,
25                     DOUBLE           *AMAX,
26                     INTEGER          *INFO)
27 {
28     DEBUG_FLENS_LAPACK("dgeequ");
29 //
30 //  Call FLENS implementation
31 //
32     *INFO = 0;
33     if (*M<0) {
34         *INFO = 1;
35     } else if (*N<0) {
36         *INFO = 2;
37     } else if (*LDA<std::max(INTEGER(1),*M)) {
38         *INFO = 4;
39     }
40 
41     if (*INFO!=0) {
42         LAPACK_ERROR("DGEEQU", INFO);
43         *INFO = -(*INFO);
44         return;
45     }
46 
47     DConstGeMatrixView  _A  = DConstFSView(*M, *N, A, *LDA);
48     DDenseVectorView    _R  = DArrayView(*M, R, 1);
49     DDenseVectorView    _C  = DArrayView(*N, C, 1);
50 
51     *INFO = equ(_A, _R, _C, *ROWCND, *COLCND, *AMAX);
52 }
53 
54 // extern "C"
55 
56 } } // namespace lapack, flens