00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00038 #ifndef MATRIX_TYPEDEFS_CHTML_HEADER
00039 #define MATRIX_TYPEDEFS_CHTML_HEADER
00040
00041 #include "matrix_typedefs.h"
00042
00043 #ifdef USE_CHUNKS_AND_TASKS
00044
00045 #include "CHTMatrix.h"
00046 #include "CHTGeneralMatrix.h"
00047 #include "CHTSymmMatrix.h"
00048 #include "CHTTriangMatrix.h"
00049
00050 #if defined(USE_CHUNKS_AND_TASKS_BSM)
00051 #include "block_sparse_matrix_lib.h"
00052 #include "CHTMatrixParamsTypeBlockSparse.h"
00053 typedef bsm::BlockSparseMatrix<ergo_real> LeafMatrixType;
00054 typedef chtml::CHTMatrixParamsTypeBlockSparse<ergo_real> ParamsType;
00055 #endif
00056
00057 #if defined(USE_CHUNKS_AND_TASKS_HBSM)
00058 #include "hierarchical_block_sparse_lib.h"
00059 #include "CHTMatrixParamsTypeHierarchicalBlockSparse.h"
00060 typedef hbsm::HierarchicalBlockSparseMatrix<ergo_real> LeafMatrixType;
00061 typedef chtml::CHTMatrixParamsTypeHierarchicalBlockSparse<ergo_real> ParamsType;
00062 #endif
00063
00064 #if !defined(USE_CHUNKS_AND_TASKS_BSM) && !defined(USE_CHUNKS_AND_TASKS_HBSM)
00065 #include "basic_matrix_lib.h"
00066 #include "CHTMatrixParamsTypeFull.h"
00067 typedef bml::FullMatrix<ergo_real> LeafMatrixType;
00068 typedef chtml::CHTMatrixParamsTypeFull<ergo_real> ParamsType;
00069 #endif
00070 #ifdef USE_SYMMETRIC
00071 typedef chtml::CHTSymmMatrix<ergo_real, ParamsType> symmMatrixWrap;
00072 #else
00073 typedef chtml::CHTGeneralMatrix<ergo_real, ParamsType> symmMatrixWrap;
00074 #endif
00075 typedef chtml::CHTGeneralMatrix<ergo_real, ParamsType> normalMatrixWrap;
00076 typedef chtml::CHTTriangMatrix<ergo_real, ParamsType> triangMatrixWrap;
00077 #else // not CHT
00078 class MatrixParamsType
00079 {
00080 public:
00081 MatrixParamsType(){}
00082 };
00083 typedef MatrixParamsType ParamsType;
00084 typedef symmMatrix symmMatrixWrap;
00085 typedef normalMatrix normalMatrixWrap;
00086 typedef triangMatrix triangMatrixWrap;
00087 #endif
00088
00089
00090
00091
00092 #endif