Seldon.hxx

00001 // Copyright (C) 2001-2009 Vivien Mallet
00002 //
00003 // This file is part of the linear-algebra library Seldon,
00004 // http://seldon.sourceforge.net/.
00005 //
00006 // Seldon is free software; you can redistribute it and/or modify it under the
00007 // terms of the GNU Lesser General Public License as published by the Free
00008 // Software Foundation; either version 2.1 of the License, or (at your option)
00009 // any later version.
00010 //
00011 // Seldon is distributed in the hope that it will be useful, but WITHOUT ANY
00012 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00013 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
00014 // more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public License
00017 // along with Seldon. If not, see http://www.gnu.org/licenses/.
00018 
00019 
00020 #ifndef SELDON_FILE_SELDON_HXX
00021 
00022 
00023 #include "SeldonHeader.hxx"
00024 
00025 namespace Seldon
00026 {
00027 
00028 
00029   // Vector class - specialized for each used type.
00030   template <class T, class Storage, class Allocator>
00031   class Vector
00032   {
00033     // Nothing in it: no default vector is supplied so as to avoid suprises!
00034   };
00035 
00036 
00037   // Matrix class - specialized for each used type.
00038   template <class T, class Prop, class Storage, class Allocator>
00039   class Matrix
00040   {
00041     // Nothing in it: no default matrix is supplied so as to avoid suprises!
00042   };
00043 
00044 
00045 } // namespace Seldon.
00046 
00047 
00048 #include "share/Common.cxx"
00049 
00050 // Memory management.
00051 #include "share/Allocator.cxx"
00052 
00053 // Storage type.
00054 #include "share/Storage.cxx"
00055 
00056 #ifndef SELDON_WITH_COMPILED_LIBRARY
00057 #include "share/MatrixFlag.cxx"
00058 #include "share/Errors.cxx"
00059 #endif
00060 
00061 #include "array3d/Array3D.cxx"
00062 #include "matrix/Matrix_Base.cxx"
00063 #include "matrix/Matrix_Pointers.cxx"
00064 #include "matrix/Matrix_Triangular.cxx"
00065 #include "matrix/Matrix_Symmetric.cxx"
00066 #include "matrix/Matrix_Hermitian.cxx"
00067 #include "matrix_sparse/Matrix_Sparse.cxx"
00068 #include "matrix_sparse/Matrix_ComplexSparse.cxx"
00069 #include "matrix_sparse/Matrix_SymSparse.cxx"
00070 #include "matrix_sparse/Matrix_SymComplexSparse.cxx"
00071 #include "matrix/Matrix_SymPacked.cxx"
00072 #include "matrix/Matrix_HermPacked.cxx"
00073 #include "matrix/Matrix_TriangPacked.cxx"
00074 #include "vector/Vector.cxx"
00075 #include "vector/VectorCollection.cxx"
00076 #include "vector/Functions_Arrays.cxx"
00077 #include "vector/SparseVector.cxx"
00078 #include "matrix/Functions.cxx"
00079 #include "matrix_sparse/Matrix_Conversions.cxx"
00080 #include "computation/basic_functions/Functions_Matrix.cxx"
00081 #include "computation/basic_functions/Functions_Vector.cxx"
00082 #include "computation/basic_functions/Functions_MatVect.cxx"
00083 
00084 #include "matrix/SubMatrix_Base.cxx"
00085 #include "matrix/SubMatrix.cxx"
00086 
00087 // Blas interface.
00088 #ifdef SELDON_WITH_BLAS
00089 #include "computation/interfaces/Blas_1.cxx"
00090 #include "computation/interfaces/Blas_2.cxx"
00091 #include "computation/interfaces/Blas_3.cxx"
00092 #endif
00093 
00094 // Lapack interface.
00095 #ifdef SELDON_WITH_LAPACK
00096 #include "computation/interfaces/Lapack_LinearEquations.cxx"
00097 #include "computation/interfaces/Lapack_LeastSquares.cxx"
00098 #include "computation/interfaces/Lapack_Eigenvalues.cxx"
00099 #endif // SELDON_WITH_LAPACK.
00100 
00101 #ifdef SELDON_WITH_COMPILED_LIBRARY
00102 #include "lib/Common.cpp"
00103 #include "lib/Vector.cpp"
00104 #include "lib/MatrixPointers.cpp"
00105 #endif
00106 
00107 
00108 #define SELDON_FILE_SELDON_HXX
00109 #endif