#ifndef MATRIXLIBRARY_H #define MATRIXLIBRARY_H #include "DenseMatrix.h" #include "ParDenseMatrix.h" #include "DenseVector.h" #include "CloneVector.h" #include "DiagonalMatrix.h" #include "ParDiagonalMatrix.h" #include "SparseMatrix.h" #include "ParSparseMatrix.h" #include "SparseVector.h" namespace ATC_matrix { template const SparseMatrix *sparse_cast(const Matrix *m) { return dynamic_cast*>(m); } template void copy_sparse_to_matrix(const SparseMatrix *s, Matrix &m) { m.zero(); TRIPLET triplet; for (INDEX i=0; isize(); i++) { triplet = s->triplet(i); m(triplet.i, triplet.j) = triplet.v; } } } // end namespace using namespace ATC_matrix; #endif