diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/CMakeLists.txt | 2 | ||||
-rw-r--r-- | test/product_trsolve.cpp (renamed from test/product_trsm.cpp) | 22 |
2 files changed, 15 insertions, 9 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ffe89915a..b8efbcf51 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -116,7 +116,7 @@ ei_add_test(product_symm) ei_add_test(product_syrk) ei_add_test(product_trmv) ei_add_test(product_trmm) -ei_add_test(product_trsm) +ei_add_test(product_trsolve) ei_add_test(product_notemporary) ei_add_test(stable_norm) ei_add_test(bandmatrix) diff --git a/test/product_trsm.cpp b/test/product_trsolve.cpp index 1103e79a9..449240f7c 100644 --- a/test/product_trsm.cpp +++ b/test/product_trsolve.cpp @@ -36,15 +36,15 @@ VERIFY_IS_APPROX((XB).transpose() * (TRI).transpose().toDenseMatrix(), ref.transpose()); \ } -template<typename Scalar> void trsm(int size,int cols) +template<typename Scalar,int Size, int Cols> void trsolve(int size=Size,int cols=Cols) { typedef typename NumTraits<Scalar>::Real RealScalar; - Matrix<Scalar,Dynamic,Dynamic,ColMajor> cmLhs(size,size); - Matrix<Scalar,Dynamic,Dynamic,RowMajor> rmLhs(size,size); + Matrix<Scalar,Size,Size,ColMajor> cmLhs(size,size); + Matrix<Scalar,Size,Size,RowMajor> rmLhs(size,size); - Matrix<Scalar,Dynamic,Dynamic,ColMajor> cmRhs(size,cols), ref(size,cols); - Matrix<Scalar,Dynamic,Dynamic,RowMajor> rmRhs(size,cols); + Matrix<Scalar,Size,Cols,ColMajor> cmRhs(size,cols), ref(size,cols); + Matrix<Scalar,Size,Cols,RowMajor> rmRhs(size,cols); cmLhs.setRandom(); cmLhs *= static_cast<RealScalar>(0.1); cmLhs.diagonal().cwise() += static_cast<RealScalar>(1); rmLhs.setRandom(); rmLhs *= static_cast<RealScalar>(0.1); rmLhs.diagonal().cwise() += static_cast<RealScalar>(1); @@ -73,11 +73,17 @@ template<typename Scalar> void trsm(int size,int cols) VERIFY_TRSM_ONTHERIGHT(rmLhs.conjugate().template triangularView<UnitUpperTriangular>(), rmRhs); } -void test_product_trsm() +void test_product_trsolve() { for(int i = 0; i < g_repeat ; i++) { - CALL_SUBTEST_1((trsm<float>(ei_random<int>(1,320),ei_random<int>(1,320)))); - CALL_SUBTEST_2((trsm<std::complex<double> >(ei_random<int>(1,320),ei_random<int>(1,320)))); + // matrices + CALL_SUBTEST_1((trsolve<float,Dynamic,Dynamic>(ei_random<int>(1,320),ei_random<int>(1,320)))); + CALL_SUBTEST_2((trsolve<std::complex<double>,Dynamic,Dynamic>(ei_random<int>(1,320),ei_random<int>(1,320)))); + + // vectors + CALL_SUBTEST_3((trsolve<std::complex<double>,Dynamic,1>(ei_random<int>(1,320)))); + CALL_SUBTEST_4((trsolve<float,1,1>())); + CALL_SUBTEST_5((trsolve<std::complex<float>,4,1>())); } } |