From 7fb2cc458df45c798043b54ca41bf444bd2152ed Mon Sep 17 00:00:00 2001 From: "Aart J.C. Bik" Date: Thu, 13 Mar 2025 14:19:50 -0700 Subject: [PATCH] Add COO to CSR test --- test/00_sparse/Convert.cu | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/test/00_sparse/Convert.cu b/test/00_sparse/Convert.cu index 8ed9a1f0a..53c6e0c11 100644 --- a/test/00_sparse/Convert.cu +++ b/test/00_sparse/Convert.cu @@ -80,7 +80,7 @@ TYPED_TEST(ConvertSparseTestsAll, ConvertCOO) { const auto n = D.Size(1); // Convert dense D to sparse S. - auto S = experimental::make_zero_tensor_coo({m, n}); + auto S = experimental::make_zero_tensor_coo({m, n}); (S = dense2sparse(D)).run(exec); ASSERT_EQ(S.Rank(), 2); ASSERT_EQ(S.Size(0), m); @@ -111,6 +111,22 @@ TYPED_TEST(ConvertSparseTestsAll, ConvertCOO) { } } + // Convert sparse S to another sparse format. + auto Acsr = experimental::make_zero_tensor_csr({m, n}); + (Acsr = sparse2sparse(S)).run(exec); + ASSERT_EQ(Acsr.Rank(), 2); + ASSERT_EQ(Acsr.Size(0), m); + ASSERT_EQ(Acsr.Size(1), n); + ASSERT_EQ(Acsr.Nse(), 4); + + // Getters are expensive, but fully functional! + exec.sync(); + for (index_t i = 0; i < m; i++) { + for (index_t j = 0; j < n; j++) { + ASSERT_EQ(Acsr(i, j), D(i, j)); + } + } + MATX_EXIT_HANDLER(); }