1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#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<typename T>
const SparseMatrix<T> *sparse_cast(const Matrix<T> *m)
{
return dynamic_cast<const SparseMatrix<T>*>(m);
}
template<typename T>
void copy_sparse_to_matrix(const SparseMatrix<T> *s, Matrix<T> &m)
{
m.zero();
TRIPLET<T> triplet;
for (INDEX i=0; i<s->size(); i++)
{
triplet = s->triplet(i);
m(triplet.i, triplet.j) = triplet.v;
}
}
} // end namespace
using namespace ATC_matrix;
#endif
|