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
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