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 {
/// Type of scalars in the underlying matrix
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
typedef mtl::compressed2D<value_type> base_matrix_type;
typedef mtl::compressed2D<value_type, para> base_matrix_type;
/// Type of inserter for the base matrix;
typedef mtl::matrix::inserter<base_matrix_type, mtl::operations::update_plus<value_type> > inserter_type;
......
......@@ -144,9 +144,9 @@ namespace AMDiS {
* Diagonal preconditioner.
*/
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:
DiagonalPreconditioner(const MTLTypes::MTLMatrix& A) : base(A) {}
......@@ -159,9 +159,9 @@ namespace AMDiS {
* Identity preconditioner. Behaves like no preconditioning.
*/
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:
IdentityPreconditioner(const MTLTypes::MTLMatrix& A) : base(A) {}
......@@ -183,11 +183,11 @@ namespace AMDiS {
* described in chapter 10.3 (algorithm 10.4).
*/
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
: 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 {
namespace MTLTypes {
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;
}
......
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