All Classes Namespaces Functions Typedefs Enumerations Pages
types.h
1 /* Copyright (C) 2003-2005 Martin Förg
2 
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2.1 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public
14  * License along with this library; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16  *
17  * Contact:
18  * martin.o.foerg@googlemail.com
19  *
20  */
21 
22 #ifndef types_h
23 #define types_h
24 
25 #ifndef HAVE_LIBMKL_INTEL_LP64
26 #ifndef CBLAS_ENUM_DEFINED_H
27  #define CBLAS_ENUM_DEFINED_H
28  enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 };
29  enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113,
30  AtlasConj=114};
31  enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
32  enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
33  enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
34 #endif
35 #define CBLAS_INDEX int
36 
37 #ifndef ATLAS_ENUM_H
38  #define ATLAS_ENUM_H
39  #define ATLAS_ORDER CBLAS_ORDER
40  #define AtlasRowMajor CblasRowMajor
41  #define AtlasColMajor CblasColMajor
42  #define ATLAS_TRANS CBLAS_TRANSPOSE
43  #define AtlasNoTrans CblasNoTrans
44  #define AtlasTrans CblasTrans
45  #define AtlasConjTrans CblasConjTrans
46  #define ATLAS_UPLO CBLAS_UPLO
47  #define AtlasUpper CblasUpper
48  #define AtlasLower CblasLower
49  #define ATLAS_DIAG CBLAS_DIAG
50  #define AtlasNonUnit CblasNonUnit
51  #define AtlasUnit CblasUnit
52  #define ATLAS_SIDE CBLAS_SIDE
53  #define AtlasLeft CblasLeft
54  #define AtlasRight CblasRight
55 #endif
56 #else
57 #include "mkl_cblas.h"
58 #endif
59 
60 namespace fmatvec {
61 
62  class Ref {
63  };
64 
65  class Var {
66  };
67 
68  template<int M> class Fixed {
69  };
70 
71 // class General {
72 // };
73 //
74 // class GeneralBand {
75 // };
76 //
77 // class Symmetric {
78 // };
79 //
80 // class Diagonal {
81 // };
82 //
83 // class Sparse {
84 // };
85 //
86 // /*!
87 // * \brief Basic shape class for matrices.
88 // *
89 // * Class BasicType is the basic shape type.
90 // * */
91 // template<class Shape, class Mem>
92 // class Type {
93 // };
94 
100  class General {
101  };
102 
108  class GeneralBand {
109  };
110 
116  class Symmetric {
117  };
118 
124  class Rotation {
125  };
126 
132  class Diagonal {
133  };
134 
140  class Sparse {
141  };
142 
143 // template<int M, int N>
144 // class GeneralFixed: public BasicType {
145 // };
146 //
147 // template<int M>
148 // class SymmetricFixed: public BasicType {
149 // };
150 //
151 // class GeneralVar: public BasicType {
152 // };
153 //
154 // class SymmetricVar: public BasicType {
155 // };
156 //
157 // template<int M>
158 // class GeneralFixedVar: public BasicType {
159 // };
160 //
161 // template<int N>
162 // class GeneralVarFixed: public BasicType {
163 // };
164 
165 }
166 
167 #endif
Definition: types.h:68
Shape class for symmetric matrices.
Definition: types.h:116
Definition: types.h:65
Shape class for rotation matrices.
Definition: types.h:124
Shape class for general band matrices.
Definition: types.h:108
Definition: types.h:62
Shape class for diagonal matrices.
Definition: types.h:132
Shape class for sparse matrices.
Definition: types.h:140
Basic shape class for matrices.
Definition: types.h:100

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML