1 #ifndef FLENS_LAPACK_INTERFACE_INLCUDE_CONFIG_H
 2 #define FLENS_LAPACK_INTERFACE_INLCUDE_CONFIG_H 1
 3 
 4 // #define CXXBLAS_DEBUG_OUT(x)    std::cerr << x << std::endl;
 5 
 6 
 7 #include <complex>
 8 #include <iomanip>
 9 #include <iostream>
10 
11 #ifndef INTEGER
12 #   define INTEGER          int
13 #endif
14 
15 #define UNKNOWN             void
16 
17 #define DOUBLE              double
18 #define FLOAT               float
19 #define LOGICAL             int
20 
21 #ifndef DOUBLE_COMPLEX
22 #define DOUBLE_COMPLEX      std::complex<double>
23 #endif
24 
25 #include <flens/lapack/interface/include/cxxlapack.h>
26 #include <flens/lapack/interface/include/f77lapack.h>
27 
28 #ifdef LAPACK_DECL
29 #   undef   LAPACK_DECL
30 #endif
31 #define  LAPACK_DECL(x)     x##_
32 
33 #ifdef LAPACK_IMPL
34 #   undef   LAPACK_IMPL
35 #endif
36 #define  LAPACK_IMPL(x)     x
37 
38 
39 #ifdef DEBUG_LAPACK_CALLS
40 #   define DEBUG_LAPACK_STUB(msg)      std::cerr << "LAPACK_STUB: " \
41                                                  << msg << std::endl;
42 #else
43 #   define DEBUG_LAPACK_STUB(msg)
44 #endif
45 
46 
47 #ifdef DEBUG_FLENS_LAPACK_CALLS
48 #   define DEBUG_FLENS_LAPACK(msg)     std::cerr << "FLENS-LAPACK: " \
49                                                  << msg << std::endl;
50 #else
51 #   define DEBUG_FLENS_LAPACK(msg)
52 #endif
53 
54 
55 #define LAPACK_ERROR(name, info)    xerbla_(name, info, strlen(name));
56 
57 //
58 //  define typedefs for FLENS matrix and vector types
59 //
60 #include <flens/flens.cxx>
61 
62 namespace flens {
63 
64 typedef FullStorageView<DOUBLE, cxxblas::ColMajor>       DFSView;
65 typedef ConstFullStorageView<DOUBLE, cxxblas::ColMajor>  DConstFSView;
66 
67 typedef GeMatrix<DFSView>                                DGeMatrixView;
68 typedef GeMatrix<DConstFSView>                           DConstGeMatrixView;
69 
70 typedef TrMatrix<DFSView>                                DTrMatrixView;
71 typedef TrMatrix<DConstFSView>                           DConstTrMatrixView;
72 
73 typedef SyMatrix<DFSView>                                DSyMatrixView;
74 typedef SyMatrix<DConstFSView>                           DConstSyMatrixView;
75 
76 typedef Array<bool>                                      BArray;
77 typedef ArrayView<bool>                                  BArrayView;
78 typedef DenseVector<BArray>                              BDenseVector;
79 typedef DenseVector<BArrayView>                          BDenseVectorView;
80 
81 typedef Array<INTEGER>                                   IArray;
82 typedef ArrayView<INTEGER>                               IArrayView;
83 typedef ConstArrayView<INTEGER>                          IConstArrayView;
84 typedef DenseVector<IArray>                              IDenseVector;
85 typedef DenseVector<IArrayView>                          IDenseVectorView;
86 typedef DenseVector<IConstArrayView>                     IConstDenseVectorView;
87 
88 typedef ArrayView<DOUBLE>                                DArrayView;
89 typedef DenseVector<DArrayView>                          DDenseVectorView;
90 
91 typedef ConstArrayView<DOUBLE>                           DConstArrayView;
92 typedef DenseVector<DConstArrayView>                     DConstDenseVectorView;
93 
94 // namespace flens
95 
96 #endif // FLENS_LAPACK_INTERFACE_INCLUDE_CONFIG_H