[SYSTEMDS-3172] Additional tests and fixed github actions workflow
diff --git a/.github/workflows/javaTests.yml b/.github/workflows/javaTests.yml
index 6341719..8cafad6 100644
--- a/.github/workflows/javaTests.yml
+++ b/.github/workflows/javaTests.yml
@@ -54,7 +54,7 @@
"**.test.usertest.**",
"**.component.c**.**",
"**.component.e**.**,**.component.f**.**,**.component.m**.**",
- "**.component.p**.**,**.component.s**.**",**.component.t**.**",
+ "**.component.p**.**,**.component.s**.**,**.component.t**.**",
"**.functions.a**.**,**.functions.binary.matrix.**,**.functions.binary.scalar.**,**.functions.binary.tensor.**",
"**.functions.blocks.**,**.functions.data.rand.**,",
"**.functions.countDistinct.**,**.functions.countDistinctApprox.**",
diff --git a/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSC.java b/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSC.java
index 66dcf05..ec744d6 100644
--- a/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSC.java
+++ b/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSC.java
@@ -31,6 +31,9 @@
* column is stored as a separate SparseRow object which provides flexibility for unsorted column appends without the
* need for global reshifting of values/indexes but it incurs additional memory overhead per column for object/array
* headers per column which also slows down memory-bound operations due to higher memory bandwidth requirements.
+ *
+ * TODO implement row interface of sparse blocks (can be slow but must be correct;
+ * additionally, we can expose the column API for efficient use in specific operations)
*/
public class SparseBlockMCSC extends SparseBlock {
diff --git a/src/test/java/org/apache/sysds/test/component/sparse/SparseBlockAlignment.java b/src/test/java/org/apache/sysds/test/component/sparse/SparseBlockAlignment.java
index e1334e0..f6d2b73 100644
--- a/src/test/java/org/apache/sysds/test/component/sparse/SparseBlockAlignment.java
+++ b/src/test/java/org/apache/sysds/test/component/sparse/SparseBlockAlignment.java
@@ -106,6 +106,21 @@
public void testSparseBlockDCSR3Pos() {
runSparseBlockScanTest(SparseBlock.Type.DCSR, sparsity3, true);
}
+
+ @Test
+ public void testSparseBlockMCSC1Pos() {
+ runSparseBlockScanTest(SparseBlock.Type.MCSC, sparsity1, true);
+ }
+
+ @Test
+ public void testSparseBlockMCSC2Pos() {
+ runSparseBlockScanTest(SparseBlock.Type.MCSC, sparsity2, true);
+ }
+
+ @Test
+ public void testSparseBlockMCSC3Pos() {
+ runSparseBlockScanTest(SparseBlock.Type.MCSC, sparsity3, true);
+ }
@Test
public void testSparseBlockMCSR1Neg() {
@@ -166,7 +181,7 @@
public void testSparseBlockDCSR3Neg() {
runSparseBlockScanTest(SparseBlock.Type.DCSR, sparsity3, false);
}
-
+
private void runSparseBlockScanTest( SparseBlock.Type btype, double sparsity, boolean positive)
{
try