Warning: this documentation for the development version is under construction.
00001 // Copyright (C) 2001-2009 Vivien Mallet 00002 // Copyright (C) 2003-2009 Marc Duruflé 00003 // 00004 // This file is part of the linear-algebra library Seldon, 00005 // http://seldon.sourceforge.net/. 00006 // 00007 // Seldon is free software; you can redistribute it and/or modify it under the 00008 // terms of the GNU Lesser General Public License as published by the Free 00009 // Software Foundation; either version 2.1 of the License, or (at your option) 00010 // any later version. 00011 // 00012 // Seldon is distributed in the hope that it will be useful, but WITHOUT ANY 00013 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00014 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for 00015 // more details. 00016 // 00017 // You should have received a copy of the GNU Lesser General Public License 00018 // along with Seldon. If not, see http://www.gnu.org/licenses/. 00019 00020 00021 #ifndef SELDON_FILE_STORAGE_HXX 00022 00023 namespace Seldon 00024 { 00025 00026 00028 // GENERAL MATRICES // 00030 00031 00032 #ifndef SWIG 00033 class ColMajor 00034 { 00035 public: 00036 static int GetFirst(int i, int j); 00037 static int GetSecond(int i, int j); 00038 }; 00039 #endif 00040 00041 00042 class RowMajor 00043 { 00044 public: 00045 static int GetFirst(int i, int j); 00046 static int GetSecond(int i, int j); 00047 }; 00048 00049 00050 00052 // VECTORS // 00054 00055 00056 class VectFull; 00057 class VectSparse; 00058 class Collection; 00059 class DenseSparseCollection; 00060 class PETScSeq; 00061 class PETScPar; 00062 class PETScSeqDense; 00063 class PETScMPIDense; 00064 class PETScMPIAIJ; 00065 00066 00068 // SPARSE // 00070 00071 00072 #ifndef SWIG 00073 class ColSparse 00074 { 00075 public: 00076 static int GetFirst(int i, int j); 00077 static int GetSecond(int i, int j); 00078 }; 00079 #endif 00080 00081 00082 class RowSparse 00083 { 00084 public: 00085 static int GetFirst(int i, int j); 00086 static int GetSecond(int i, int j); 00087 }; 00088 00089 00090 #ifndef SWIG 00091 class ColComplexSparse 00092 { 00093 public: 00094 static int GetFirst(int i, int j); 00095 static int GetSecond(int i, int j); 00096 }; 00097 00098 00099 class RowComplexSparse 00100 { 00101 public: 00102 static int GetFirst(int i, int j); 00103 static int GetSecond(int i, int j); 00104 }; 00105 00106 00107 class ColSymSparse 00108 { 00109 public: 00110 static int GetFirst(int i, int j); 00111 static int GetSecond(int i, int j); 00112 }; 00113 00114 00115 class RowSymSparse 00116 { 00117 public: 00118 static int GetFirst(int i, int j); 00119 static int GetSecond(int i, int j); 00120 }; 00121 00122 00123 class ColSymComplexSparse 00124 { 00125 public: 00126 static int GetFirst(int i, int j); 00127 static int GetSecond(int i, int j); 00128 }; 00129 00130 00131 class RowSymComplexSparse 00132 { 00133 public: 00134 static int GetFirst(int i, int j); 00135 static int GetSecond(int i, int j); 00136 }; 00137 00138 class ArrayRowSparse : public RowSparse 00139 { 00140 }; 00141 00142 class ArrayColSparse : public ColSparse 00143 { 00144 }; 00145 00146 class ArrayRowSymSparse : public RowSymSparse 00147 { 00148 }; 00149 00150 class ArrayColSymSparse : public ColSymSparse 00151 { 00152 }; 00153 00154 class ArrayRowComplexSparse : public RowComplexSparse 00155 { 00156 }; 00157 00158 class ArrayRowSymComplexSparse : public RowSymComplexSparse 00159 { 00160 }; 00161 00162 class ArrayColComplexSparse : public ColComplexSparse 00163 { 00164 }; 00165 00166 class ArrayColSymComplexSparse : public ColSymComplexSparse 00167 { 00168 }; 00169 00170 00172 // SYMMETRIC // 00174 00175 00176 class ColSymPacked 00177 { 00178 public: 00179 static int GetFirst(int i, int j); 00180 static int GetSecond(int i, int j); 00181 }; 00182 00183 00184 class RowSymPacked 00185 { 00186 public: 00187 static int GetFirst(int i, int j); 00188 static int GetSecond(int i, int j); 00189 }; 00190 00191 00192 class ColSym 00193 { 00194 public: 00195 static int GetFirst(int i, int j); 00196 static int GetSecond(int i, int j); 00197 }; 00198 00199 00200 class RowSym 00201 { 00202 public: 00203 static int GetFirst(int i, int j); 00204 static int GetSecond(int i, int j); 00205 }; 00206 00207 00208 00210 // HERMITIAN // 00212 00213 00214 class ColHerm 00215 { 00216 public: 00217 static int GetFirst(int i, int j); 00218 static int GetSecond(int i, int j); 00219 }; 00220 00221 00222 class RowHerm 00223 { 00224 public: 00225 static int GetFirst(int i, int j); 00226 static int GetSecond(int i, int j); 00227 }; 00228 00229 00230 class ColHermPacked 00231 { 00232 public: 00233 static int GetFirst(int i, int j); 00234 static int GetSecond(int i, int j); 00235 }; 00236 00237 00238 class RowHermPacked 00239 { 00240 public: 00241 static int GetFirst(int i, int j); 00242 static int GetSecond(int i, int j); 00243 }; 00244 00245 00246 00248 // TRIANGULAR // 00250 00251 00252 class ColUpTriang 00253 { 00254 public: 00255 static int GetFirst(int i, int j); 00256 static int GetSecond(int i, int j); 00257 static bool UpLo(); 00258 }; 00259 00260 00261 class ColLoTriang 00262 { 00263 public: 00264 static int GetFirst(int i, int j); 00265 static int GetSecond(int i, int j); 00266 static bool UpLo(); 00267 }; 00268 00269 00270 class RowUpTriang 00271 { 00272 public: 00273 static int GetFirst(int i, int j); 00274 static int GetSecond(int i, int j); 00275 static bool UpLo(); 00276 }; 00277 00278 00279 class RowLoTriang 00280 { 00281 public: 00282 static int GetFirst(int i, int j); 00283 static int GetSecond(int i, int j); 00284 static bool UpLo(); 00285 }; 00286 00287 00288 class ColUpTriangPacked 00289 { 00290 public: 00291 static int GetFirst(int i, int j); 00292 static int GetSecond(int i, int j); 00293 static bool UpLo(); 00294 }; 00295 00296 00297 class ColLoTriangPacked 00298 { 00299 public: 00300 static int GetFirst(int i, int j); 00301 static int GetSecond(int i, int j); 00302 static bool UpLo(); 00303 }; 00304 00305 00306 class RowUpTriangPacked 00307 { 00308 public: 00309 static int GetFirst(int i, int j); 00310 static int GetSecond(int i, int j); 00311 static bool UpLo(); 00312 }; 00313 00314 00315 class RowLoTriangPacked 00316 { 00317 public: 00318 static int GetFirst(int i, int j); 00319 static int GetSecond(int i, int j); 00320 static bool UpLo(); 00321 }; 00322 #endif 00323 00324 00326 // SUB-MATRICES // 00328 00329 00330 template <class M> 00331 class SubStorage 00332 { 00333 }; 00334 00335 00337 // TYPES // 00339 00340 00341 class FloatDouble 00342 { 00343 }; 00344 00345 00347 // COLLECTION // 00349 00350 00351 class ColMajorCollection 00352 { 00353 }; 00354 00355 00356 class RowMajorCollection 00357 { 00358 }; 00359 00360 00361 class ColSymPackedCollection 00362 { 00363 }; 00364 00365 00366 class RowSymPackedCollection 00367 { 00368 }; 00369 00370 00371 class ColUpTriangPackedCollection 00372 { 00373 }; 00374 00375 00376 class RowUpTriangPackedCollection 00377 { 00378 }; 00379 00380 00381 } // namespace Seldon. 00382 00383 #define SELDON_FILE_STORAGE_HXX 00384 #endif