[MINOR] CUMSUM on empty matrix

In aggregateUnaryMatrixEmpty cumulative sum on an empty matrix is a no-op.
I added the switch case to this since i ran into an edge case where
spark would say unsupported aggregation type.
Also added is a test that verify this bug.
diff --git a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.java b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.java
index d9578ae..722eeca 100644
--- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.java
+++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.java
@@ -1639,7 +1639,9 @@
 						out.quickSetValue(2, j, in.rlen); //count
 				break;
 			}
-
+			case CUM_SUM_PROD:{
+				break;
+			}
 			default:
 				throw new DMLRuntimeException("Unsupported aggregation type: "+optype);
 		}
diff --git a/src/test/java/org/apache/sysds/test/component/matrix/CumsumprodTest.java b/src/test/java/org/apache/sysds/test/component/matrix/CumsumprodTest.java
index 3ad96fe..2aa9fb9 100644
--- a/src/test/java/org/apache/sysds/test/component/matrix/CumsumprodTest.java
+++ b/src/test/java/org/apache/sysds/test/component/matrix/CumsumprodTest.java
@@ -62,4 +62,13 @@
 		MatrixBlock B = A.unaryOperations(uop, new MatrixBlock());
 		assertEquals(1000, B.getNumRows());
 	}
+
+	@Test
+	public void testCumsumprodEmpty() {
+		MatrixBlock A = MatrixBlock.randOperations(1000, 2, 0.00, 0, 10, "uniform", 7);
+		A = new MatrixBlock(A, SparseBlock.Type.MCSR, true);
+		UnaryOperator uop = new UnaryOperator(Builtin.getBuiltinFnObject("ucumk+*"), 1, false);
+		MatrixBlock B = A.unaryOperations(uop, new MatrixBlock());
+		assertEquals(1000, B.getNumRows());
+	}
 }