Commit 74f06100 authored by Naumann, Andreas's avatar Naumann, Andreas
Browse files

smaller size type for sparse mtl matrices

parent e8983bcb
...@@ -52,8 +52,11 @@ namespace AMDiS { ...@@ -52,8 +52,11 @@ namespace AMDiS {
/// Type of scalars in the underlying matrix /// Type of scalars in the underlying matrix
typedef double value_type; typedef double value_type;
typedef unsigned size_type;
typedef mtl::matrix::parameters<mtl::row_major, mtl::index::c_index, mtl::non_fixed::dimensions, false, size_type> para;
/// Type of underlying matrix /// Type of underlying matrix
typedef mtl::compressed2D<value_type> base_matrix_type; typedef mtl::compressed2D<value_type, para> base_matrix_type;
/// Type of inserter for the base matrix; /// Type of inserter for the base matrix;
typedef mtl::matrix::inserter<base_matrix_type, mtl::operations::update_plus<value_type> > inserter_type; typedef mtl::matrix::inserter<base_matrix_type, mtl::operations::update_plus<value_type> > inserter_type;
......
...@@ -144,9 +144,9 @@ namespace AMDiS { ...@@ -144,9 +144,9 @@ namespace AMDiS {
* Diagonal preconditioner. * Diagonal preconditioner.
*/ */
class DiagonalPreconditioner class DiagonalPreconditioner
: public ITL_Preconditioner<itl::pc::diagonal<DOFMatrix::base_matrix_type>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > : public ITL_Preconditioner<itl::pc::diagonal<MTLTypes::MTLMatrix>, MTLTypes::MTLVector, MTLTypes::MTLMatrix >
{ {
typedef ITL_Preconditioner<itl::pc::diagonal<DOFMatrix::base_matrix_type>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > base; typedef ITL_Preconditioner<itl::pc::diagonal<MTLTypes::MTLMatrix>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > base;
public: public:
DiagonalPreconditioner(const MTLTypes::MTLMatrix& A) : base(A) {} DiagonalPreconditioner(const MTLTypes::MTLMatrix& A) : base(A) {}
...@@ -159,9 +159,9 @@ namespace AMDiS { ...@@ -159,9 +159,9 @@ namespace AMDiS {
* Identity preconditioner. Behaves like no preconditioning. * Identity preconditioner. Behaves like no preconditioning.
*/ */
class IdentityPreconditioner class IdentityPreconditioner
: public ITL_Preconditioner<itl::pc::identity<DOFMatrix::base_matrix_type>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > : public ITL_Preconditioner<itl::pc::identity<MTLTypes::MTLMatrix>, MTLTypes::MTLVector, MTLTypes::MTLMatrix >
{ {
typedef ITL_Preconditioner<itl::pc::identity<DOFMatrix::base_matrix_type>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > base; typedef ITL_Preconditioner<itl::pc::identity<MTLTypes::MTLMatrix>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > base;
public: public:
IdentityPreconditioner(const MTLTypes::MTLMatrix& A) : base(A) {} IdentityPreconditioner(const MTLTypes::MTLMatrix& A) : base(A) {}
...@@ -183,11 +183,11 @@ namespace AMDiS { ...@@ -183,11 +183,11 @@ namespace AMDiS {
* described in chapter 10.3 (algorithm 10.4). * described in chapter 10.3 (algorithm 10.4).
*/ */
class ILUPreconditioner class ILUPreconditioner
: public ITL_Preconditioner< itl::pc::ilu_0<DOFMatrix::base_matrix_type>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > : public ITL_Preconditioner< itl::pc::ilu_0<MTLTypes::MTLMatrix>, MTLTypes::MTLVector, MTLTypes::MTLMatrix >
{}; {};
class ICPreconditioner class ICPreconditioner
: public ITL_Preconditioner< itl::pc::ic_0<DOFMatrix::base_matrix_type>, MTLTypes::MTLVector, MTLTypes::MTLMatrix > : public ITL_Preconditioner< itl::pc::ic_0<MTLTypes::MTLMatrix>, MTLTypes::MTLVector, MTLTypes::MTLMatrix >
{}; {};
......
...@@ -17,7 +17,9 @@ namespace AMDiS { ...@@ -17,7 +17,9 @@ namespace AMDiS {
namespace MTLTypes { namespace MTLTypes {
typedef double value_type; typedef double value_type;
typedef mtl::matrix::compressed2D< value_type > MTLMatrix; typedef unsigned size_type;
typedef mtl::matrix::parameters<mtl::row_major, mtl::index::c_index, mtl::non_fixed::dimensions, false, size_type> para;
typedef mtl::matrix::compressed2D< value_type, para > MTLMatrix;
typedef mtl::vector::dense_vector< value_type > MTLVector; typedef mtl::vector::dense_vector< value_type > MTLVector;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment