diff --git a/reference/test/matrix/batch_csr_kernels.cpp b/reference/test/matrix/batch_csr_kernels.cpp index 0464e922976..d1df7e4296f 100644 --- a/reference/test/matrix/batch_csr_kernels.cpp +++ b/reference/test/matrix/batch_csr_kernels.cpp @@ -222,6 +222,22 @@ TYPED_TEST(Csr, CanAddScaledIdentity) } +TYPED_TEST(Csr, AddScaledIdentityFailsOnMatrixWithoutDiagonal) +{ + using BMtx = typename TestFixture::BMtx; + using BMVec = typename TestFixture::BMVec; + auto alpha = gko::batch::initialize({{2.0}, {-1.0}}, this->exec); + auto beta = gko::batch::initialize({{3.0}, {-2.0}}, this->exec); + auto mat = gko::batch::initialize( + {{{0.0, 2.0, 0.0}, {3.0, 1.0, 1.0}, {0.0, 1.0, 1.0}}, + {{0.0, -2.0, 0.0}, {1.0, -1.0, 2.0}, {0.0, 2.0, 1.0}}}, + this->exec, 6); + + ASSERT_THROW(mat->add_scaled_identity(alpha, beta), + gko::UnsupportedMatrixProperty); +} + + TYPED_TEST(Csr, ApplyFailsOnWrongNumberOfResultCols) { using BMVec = typename TestFixture::BMVec; diff --git a/reference/test/matrix/batch_ell_kernels.cpp b/reference/test/matrix/batch_ell_kernels.cpp index b0b41941038..f4d8b131247 100644 --- a/reference/test/matrix/batch_ell_kernels.cpp +++ b/reference/test/matrix/batch_ell_kernels.cpp @@ -224,6 +224,22 @@ TYPED_TEST(Ell, CanAddScaledIdentity) } +TYPED_TEST(Ell, AddScaledIdentityFailsOnMatrixWithoutDiagonal) +{ + using BMtx = typename TestFixture::BMtx; + using BMVec = typename TestFixture::BMVec; + auto alpha = gko::batch::initialize({{2.0}, {-1.0}}, this->exec); + auto beta = gko::batch::initialize({{3.0}, {-2.0}}, this->exec); + auto mat = gko::batch::initialize( + {{{0.0, 2.0, 1.0}, {0.0, 1.0, 1.0}, {0.0, 1.0, 1.0}}, + {{0.0, -2.0, 2.0}, {0.0, -1.0, 2.0}, {0.0, 2.0, 1.0}}}, + this->exec, 2); + + ASSERT_THROW(mat->add_scaled_identity(alpha, beta), + gko::UnsupportedMatrixProperty); +} + + TYPED_TEST(Ell, ApplyFailsOnWrongNumberOfResultCols) { using BMVec = typename TestFixture::BMVec;