diff options
author | 2009-01-14 17:41:55 +0000 | |
---|---|---|
committer | 2009-01-14 17:41:55 +0000 | |
commit | 0b606dcccd58fef640f5037088005dcdd1d3487e (patch) | |
tree | 58cadd4d9f22a517858c780ef0a12057b89e8636 /test/sparse_basic.cpp | |
parent | c4c70669d165afefe0c68e7bb194ee81b9fba0b5 (diff) |
Add support for sparse * dense and dense * sparse matrix/vector products
Diffstat (limited to 'test/sparse_basic.cpp')
-rw-r--r-- | test/sparse_basic.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp index 54272d871..07a38ddd8 100644 --- a/test/sparse_basic.cpp +++ b/test/sparse_basic.cpp @@ -216,6 +216,7 @@ template<typename Scalar> void sparse_basic(int rows, int cols) DenseMatrix refMat2 = DenseMatrix::Zero(rows, rows); DenseMatrix refMat3 = DenseMatrix::Zero(rows, rows); DenseMatrix refMat4 = DenseMatrix::Zero(rows, rows); + DenseMatrix dm4 = DenseMatrix::Zero(rows, rows); SparseMatrix<Scalar> m2(rows, rows); SparseMatrix<Scalar> m3(rows, rows); SparseMatrix<Scalar> m4(rows, rows); @@ -226,6 +227,18 @@ template<typename Scalar> void sparse_basic(int rows, int cols) VERIFY_IS_APPROX(m4=m2.transpose()*m3, refMat4=refMat2.transpose()*refMat3); VERIFY_IS_APPROX(m4=m2.transpose()*m3.transpose(), refMat4=refMat2.transpose()*refMat3.transpose()); VERIFY_IS_APPROX(m4=m2*m3.transpose(), refMat4=refMat2*refMat3.transpose()); + + // sparse * dense + VERIFY_IS_APPROX(dm4=m2*refMat3, refMat4=refMat2*refMat3); + VERIFY_IS_APPROX(dm4=m2*refMat3.transpose(), refMat4=refMat2*refMat3.transpose()); + VERIFY_IS_APPROX(dm4=m2.transpose()*refMat3, refMat4=refMat2.transpose()*refMat3); + VERIFY_IS_APPROX(dm4=m2.transpose()*refMat3.transpose(), refMat4=refMat2.transpose()*refMat3.transpose()); + + // dense * sparse + VERIFY_IS_APPROX(dm4=refMat2*m3, refMat4=refMat2*refMat3); + VERIFY_IS_APPROX(dm4=refMat2*m3.transpose(), refMat4=refMat2*refMat3.transpose()); + VERIFY_IS_APPROX(dm4=refMat2.transpose()*m3, refMat4=refMat2.transpose()*refMat3); + VERIFY_IS_APPROX(dm4=refMat2.transpose()*m3.transpose(), refMat4=refMat2.transpose()*refMat3.transpose()); } } |