@@ -80,7 +80,7 @@ TYPED_TEST(ConvertSparseTestsAll, ConvertCOO) {
80
80
const auto n = D.Size (1 );
81
81
82
82
// Convert dense D to sparse S.
83
- auto S = experimental::make_zero_tensor_coo<TestType, index_t >({m, n});
83
+ auto S = experimental::make_zero_tensor_coo<TestType, int >({m, n});
84
84
(S = dense2sparse (D)).run (exec);
85
85
ASSERT_EQ (S.Rank (), 2 );
86
86
ASSERT_EQ (S.Size (0 ), m);
@@ -111,6 +111,22 @@ TYPED_TEST(ConvertSparseTestsAll, ConvertCOO) {
111
111
}
112
112
}
113
113
114
+ // Convert sparse S to another sparse format.
115
+ auto Acsr = experimental::make_zero_tensor_csr<TestType, int , int >({m, n});
116
+ (Acsr = sparse2sparse (S)).run (exec);
117
+ ASSERT_EQ (Acsr.Rank (), 2 );
118
+ ASSERT_EQ (Acsr.Size (0 ), m);
119
+ ASSERT_EQ (Acsr.Size (1 ), n);
120
+ ASSERT_EQ (Acsr.Nse (), 4 );
121
+
122
+ // Getters are expensive, but fully functional!
123
+ exec.sync ();
124
+ for (index_t i = 0 ; i < m; i++) {
125
+ for (index_t j = 0 ; j < n; j++) {
126
+ ASSERT_EQ (Acsr (i, j), D (i, j));
127
+ }
128
+ }
129
+
114
130
MATX_EXIT_HANDLER ();
115
131
}
116
132
0 commit comments