#ifndef MATRIXLIBRARY_H #define MATRIXLIBRARY_H #include "DenseMatrix.h" #include "DenseVector.h" #include "CloneVector.h" #include "DiagonalMatrix.h" #include "SparseMatrix.h" #include "SparseVector.h" 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->get_triplet(i); m(triplet.i, triplet.j) = triplet.v; } } #endif