Repository: incubator-systemml
Updated Branches:
  refs/heads/master 390b81c26 -> 37a215bc3


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/37a215bc/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
index d87b42a..4a9d4f5 100644
--- 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
+++ 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixMultChainTest.java
@@ -46,9 +46,10 @@ public class ParMatrixMultChainTest extends AutomatedTestBase
        }
        
        public enum ValueType {
-               RAND,
-               RAND_ROUND,
-               CONST,
+               RAND, //UC
+               CONST, //RLE
+               RAND_ROUND_OLE, //OLE
+               RAND_ROUND_DDC, //RLE
        }
        
        @Override
@@ -72,13 +73,23 @@ public class ParMatrixMultChainTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataNoWeightsCompression() {
-               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, ChainType.XtXv, true);
+       public void testDenseRoundRandDataOLENoWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtXv, true);
        }
        
        @Test
-       public void testSparseRoundRandDataNoWeightsCompression() {
-               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, ChainType.XtXv, true);
+       public void testSparseRoundRandDataOLENoWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtXv, true);
+       }
+       
+       @Test
+       public void testDenseRoundRandDataDDCNoWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, ChainType.XtXv, true);
+       }
+       
+       @Test
+       public void testSparseRoundRandDataDDCNoWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, ChainType.XtXv, true);
        }
        
        @Test
@@ -107,13 +118,13 @@ public class ParMatrixMultChainTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataNoWeightsNoCompression() {
-               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, ChainType.XtXv, false);
+       public void testDenseRoundRandDataOLENoWeightsNoCompression() {
+               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtXv, false);
        }
        
        @Test
-       public void testSparseRoundRandDataNoWeightsNoCompression() {
-               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, ChainType.XtXv, false);
+       public void testSparseRoundRandDataOLENoWeightsNoCompression() {
+               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtXv, false);
        }
        
        @Test
@@ -142,13 +153,23 @@ public class ParMatrixMultChainTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataWeightsCompression() {
-               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, ChainType.XtwXv, true);
+       public void testDenseRoundRandDataOLEWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtwXv, true);
+       }
+       
+       @Test
+       public void testSparseRoundRandDataOLEWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtwXv, true);
        }
        
        @Test
-       public void testSparseRoundRandDataWeightsCompression() {
-               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, ChainType.XtwXv, true);
+       public void testDenseRoundRandDataDDCWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, ChainType.XtwXv, true);
+       }
+       
+       @Test
+       public void testSparseRoundRandDataDDCWeightsCompression() {
+               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, ChainType.XtwXv, true);
        }
        
        @Test
@@ -177,13 +198,13 @@ public class ParMatrixMultChainTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataWeightsNoCompression() {
-               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, ChainType.XtwXv, false);
+       public void testDenseRoundRandDataOLEWeightsNoCompression() {
+               runMatrixMultChainTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtwXv, false);
        }
        
        @Test
-       public void testSparseRoundRandDataWeightsNoCompression() {
-               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, ChainType.XtwXv, false);
+       public void testSparseRoundRandDataOLEWeightsNoCompression() {
+               runMatrixMultChainTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, ChainType.XtwXv, false);
        }
        
        @Test
@@ -215,8 +236,10 @@ public class ParMatrixMultChainTest extends 
AutomatedTestBase
                        //generate input data
                        double min = (vtype==ValueType.CONST)? 10 : -10;
                        double[][] input = TestUtils.generateTestMatrix(rows, 
cols, min, 10, sparsity, 7);
-                       if( vtype==ValueType.RAND_ROUND )
+                       if( vtype==ValueType.RAND_ROUND_OLE || 
vtype==ValueType.RAND_ROUND_DDC ) {
+                               CompressedMatrixBlock.ALLOW_DDC_ENCODING = 
(vtype==ValueType.RAND_ROUND_DDC);
                                input = TestUtils.round(input);
+                       }
                        MatrixBlock mb = 
DataConverter.convertToMatrixBlock(input);
                        MatrixBlock vector1 = 
DataConverter.convertToMatrixBlock(
                                        TestUtils.generateTestMatrix(cols, 1, 
0, 1, 1.0, 3));
@@ -243,5 +266,8 @@ public class ParMatrixMultChainTest extends 
AutomatedTestBase
                catch(Exception ex) {
                        throw new RuntimeException(ex);
                }
+               finally {
+                       CompressedMatrixBlock.ALLOW_DDC_ENCODING = true;
+               }
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/37a215bc/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
index 2ec0ab8..30e57b4 100644
--- 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
+++ 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParMatrixVectorMultTest.java
@@ -50,9 +50,10 @@ public class ParMatrixVectorMultTest extends 
AutomatedTestBase
        }
        
        public enum ValueType {
-               RAND,
-               RAND_ROUND,
-               CONST,
+               RAND, //UC
+               CONST, //RLE
+               RAND_ROUND_OLE, //OLE
+               RAND_ROUND_DDC, //RLE
        }
        
        @Override
@@ -76,13 +77,23 @@ public class ParMatrixVectorMultTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataCompression() {
-               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, true);
+       public void testDenseRoundRandDataOLECompression() {
+               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, true);
        }
        
        @Test
-       public void testSparseRoundRandDataCompression() {
-               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, true);
+       public void testSparseRoundRandDataOLECompression() {
+               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, true);
+       }
+       
+       @Test
+       public void testDenseRoundRandDataDDCCompression() {
+               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, true);
+       }
+       
+       @Test
+       public void testSparseRoundRandDataDDCCompression() {
+               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, true);
        }
        
        @Test
@@ -111,13 +122,13 @@ public class ParMatrixVectorMultTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataNoCompression() {
-               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, false);
+       public void testDenseRoundRandDataOLENoCompression() {
+               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, false);
        }
        
        @Test
-       public void testSparseRoundRandDataNoCompression() {
-               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, false);
+       public void testSparseRoundRandDataOLENoCompression() {
+               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, false);
        }
        
        @Test
@@ -150,8 +161,10 @@ public class ParMatrixVectorMultTest extends 
AutomatedTestBase
                        //generate input data
                        double min = (vtype==ValueType.CONST)? 10 : -10;
                        double[][] input = TestUtils.generateTestMatrix(rows, 
cols, min, 10, sparsity, 7);
-                       if( vtype==ValueType.RAND_ROUND )
+                       if( vtype==ValueType.RAND_ROUND_OLE || 
vtype==ValueType.RAND_ROUND_DDC ) {
+                               CompressedMatrixBlock.ALLOW_DDC_ENCODING = 
(vtype==ValueType.RAND_ROUND_DDC);
                                input = TestUtils.round(input);
+                       }
                        MatrixBlock mb = 
DataConverter.convertToMatrixBlock(input);
                        MatrixBlock vector = DataConverter.convertToMatrixBlock(
                                        TestUtils.generateTestMatrix(cols, 1, 
1, 1, 1.0, 3));
@@ -178,5 +191,8 @@ public class ParMatrixVectorMultTest extends 
AutomatedTestBase
                catch(Exception ex) {
                        throw new RuntimeException(ex);
                }
+               finally {
+                       CompressedMatrixBlock.ALLOW_DDC_ENCODING = true;
+               }
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/37a215bc/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
index 4091315..a12588a 100644
--- 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
+++ 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParTransposeSelfLeftMatrixMultTest.java
@@ -46,9 +46,10 @@ public class ParTransposeSelfLeftMatrixMultTest extends 
AutomatedTestBase
        }
        
        public enum ValueType {
-               RAND,
-               RAND_ROUND,
-               CONST,
+               RAND, //UC
+               CONST, //RLE
+               RAND_ROUND_OLE, //OLE
+               RAND_ROUND_DDC, //RLE
        }
        
        @Override
@@ -72,13 +73,23 @@ public class ParTransposeSelfLeftMatrixMultTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataCompression() {
-               runTransposeSelfMatrixMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, true);
+       public void testDenseRoundRandDataOLECompression() {
+               runTransposeSelfMatrixMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, true);
        }
        
        @Test
-       public void testSparseRoundRandDataCompression() {
-               runTransposeSelfMatrixMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, true);
+       public void testSparseRoundRandDataOLECompression() {
+               runTransposeSelfMatrixMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, true);
+       }
+       
+       @Test
+       public void testDenseRoundRandDataDDCCompression() {
+               runTransposeSelfMatrixMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, true);
+       }
+       
+       @Test
+       public void testSparseRoundRandDataDDCCompression() {
+               runTransposeSelfMatrixMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, true);
        }
        
        @Test
@@ -107,13 +118,13 @@ public class ParTransposeSelfLeftMatrixMultTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataNoCompression() {
-               runTransposeSelfMatrixMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, false);
+       public void testDenseRoundRandDataOLENoCompression() {
+               runTransposeSelfMatrixMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, false);
        }
        
        @Test
-       public void testSparseRoundRandDataNoCompression() {
-               runTransposeSelfMatrixMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, false);
+       public void testSparseRoundRandDataOLENoCompression() {
+               runTransposeSelfMatrixMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, false);
        }
        
        @Test
@@ -146,8 +157,10 @@ public class ParTransposeSelfLeftMatrixMultTest extends 
AutomatedTestBase
                        //generate input data
                        double min = (vtype==ValueType.CONST)? 10 : -10;
                        double[][] input = TestUtils.generateTestMatrix(rows, 
cols, min, 10, sparsity, 7);
-                       if( vtype==ValueType.RAND_ROUND )
+                       if( vtype==ValueType.RAND_ROUND_OLE || 
vtype==ValueType.RAND_ROUND_DDC ) {
+                               CompressedMatrixBlock.ALLOW_DDC_ENCODING = 
(vtype==ValueType.RAND_ROUND_DDC);
                                input = TestUtils.round(input);
+                       }
                        MatrixBlock mb = 
DataConverter.convertToMatrixBlock(input);
                        
                        //compress given matrix block
@@ -170,5 +183,8 @@ public class ParTransposeSelfLeftMatrixMultTest extends 
AutomatedTestBase
                catch(Exception ex) {
                        throw new RuntimeException(ex);
                }
+               finally {
+                       CompressedMatrixBlock.ALLOW_DDC_ENCODING = true;
+               }
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/37a215bc/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
index dde370d..ebc1159 100644
--- 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
+++ 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParUnaryAggregateTest.java
@@ -48,9 +48,10 @@ public class ParUnaryAggregateTest extends AutomatedTestBase
        }
        
        public enum ValueType {
-               RAND,
-               RAND_ROUND,
-               CONST,
+               RAND, //UC
+               CONST, //RLE
+               RAND_ROUND_OLE, //OLE
+               RAND_ROUND_DDC, //RLE
        }
        
        public enum AggType {
@@ -89,13 +90,23 @@ public class ParUnaryAggregateTest extends AutomatedTestBase
        }
        
        @Test
-       public void testRowSumsDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWSUMS, true);
+       public void testRowSumsDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMS, true);
        }
        
        @Test
-       public void testRowSumsSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWSUMS, true);
+       public void testRowSumsSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMS, true);
+       }
+       
+       @Test
+       public void testRowSumsDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWSUMS, true);
+       }
+       
+       @Test
+       public void testRowSumsSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWSUMS, true);
        }
        
        @Test
@@ -124,13 +135,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testRowSumsDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWSUMS, false);
+       public void testRowSumsDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMS, false);
        }
        
        @Test
-       public void testRowSumsSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWSUMS, false);
+       public void testRowSumsSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMS, false);
        }
        
        @Test
@@ -159,13 +170,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColSumsDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLSUMS, true);
+       public void testColSumsDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMS, true);
        }
        
        @Test
-       public void testColSumsSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLSUMS, true);
+       public void testColSumsSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMS, true);
+       }
+       
+       @Test
+       public void testColSumsDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.COLSUMS, true);
+       }
+       
+       @Test
+       public void testColSumsSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.COLSUMS, true);
        }
        
        @Test
@@ -194,13 +215,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColSumsDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLSUMS, false);
+       public void testColSumsDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMS, false);
        }
        
        @Test
-       public void testColSumsSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLSUMS, false);
+       public void testColSumsSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMS, false);
        }
        
        @Test
@@ -229,13 +250,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testSumDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.SUM, true);
+       public void testSumDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.SUM, true);
+       }
+       
+       @Test
+       public void testSumSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.SUM, true);
        }
        
        @Test
-       public void testSumSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.SUM, true);
+       public void testSumDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.SUM, true);
+       }
+       
+       @Test
+       public void testSumSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.SUM, true);
        }
        
        @Test
@@ -264,13 +295,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testSumDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.SUM, false);
+       public void testSumDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.SUM, false);
        }
        
        @Test
-       public void testSumSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.SUM, false);
+       public void testSumSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.SUM, false);
        }
        
        @Test
@@ -299,13 +330,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testRowSumsSqDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWSUMSSQ, true);
+       public void testRowSumsSqDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMSSQ, true);
+       }
+       
+       @Test
+       public void testRowSumsSqSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMSSQ, true);
+       }
+       
+       @Test
+       public void testRowSumsSqDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWSUMSSQ, true);
        }
        
        @Test
-       public void testRowSumsSqSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWSUMSSQ, true);
+       public void testRowSumsSqSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWSUMSSQ, true);
        }
        
        @Test
@@ -334,13 +375,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testRowSumsSqDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWSUMSSQ, false);
+       public void testRowSumsSqDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMSSQ, false);
        }
        
        @Test
-       public void testRowSumsSqSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWSUMSSQ, false);
+       public void testRowSumsSqSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWSUMSSQ, false);
        }
        
        @Test
@@ -369,13 +410,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColSumsSqDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLSUMSSQ, true);
+       public void testColSumsSqDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMSSQ, true);
        }
        
        @Test
-       public void testColSumsSqSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLSUMSSQ, true);
+       public void testColSumsSqSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMSSQ, true);
+       }
+       
+       @Test
+       public void testColSumsSqDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.COLSUMSSQ, true);
+       }
+       
+       @Test
+       public void testColSumsSqSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.COLSUMSSQ, true);
        }
        
        @Test
@@ -404,13 +455,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColSumsSqDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLSUMSSQ, false);
+       public void testColSumsSqDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMSSQ, false);
        }
        
        @Test
-       public void testColSumsSqSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLSUMSSQ, false);
+       public void testColSumsSqSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLSUMSSQ, false);
        }
        
        @Test
@@ -439,13 +490,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testSumSqDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.SUMSQ, true);
+       public void testSumSqDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.SUMSQ, true);
        }
        
        @Test
-       public void testSumSqSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.SUMSQ, true);
+       public void testSumSqSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.SUMSQ, true);
+       }
+       
+       @Test
+       public void testSumSqDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.SUMSQ, true);
+       }
+       
+       @Test
+       public void testSumSqSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.SUMSQ, true);
        }
        
        @Test
@@ -474,13 +535,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testSumSqDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.SUMSQ, false);
+       public void testSumSqDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.SUMSQ, false);
        }
        
        @Test
-       public void testSumSqSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.SUMSQ, false);
+       public void testSumSqSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.SUMSQ, false);
        }
        
        @Test
@@ -493,7 +554,6 @@ public class ParUnaryAggregateTest extends AutomatedTestBase
                runUnaryAggregateTest(SparsityType.SPARSE, ValueType.CONST, 
AggType.SUMSQ, false);
        }
        
-
        @Test
        public void testRowMaxsDenseRandDataCompression() {
                runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND, 
AggType.ROWMAXS, true);
@@ -510,13 +570,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testRowMaxsDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWMAXS, true);
+       public void testRowMaxsDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMAXS, true);
        }
        
        @Test
-       public void testRowMaxsSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWMAXS, true);
+       public void testRowMaxsSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMAXS, true);
+       }
+       
+       @Test
+       public void testRowMaxsDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWMAXS, true);
+       }
+       
+       @Test
+       public void testRowMaxsSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWMAXS, true);
        }
        
        @Test
@@ -545,13 +615,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testRowMaxsDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWMAXS, false);
+       public void testRowMaxsDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMAXS, false);
        }
        
        @Test
-       public void testRowMaxsSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWMAXS, false);
+       public void testRowMaxsSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMAXS, false);
        }
        
        @Test
@@ -580,13 +650,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColMaxsDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLMAXS, true);
+       public void testColMaxsDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMAXS, true);
        }
        
        @Test
-       public void testColMaxsSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLMAXS, true);
+       public void testColMaxsSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMAXS, true);
+       }
+       
+       @Test
+       public void testColMaxsDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.COLMAXS, true);
+       }
+       
+       @Test
+       public void testColMaxsSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.COLMAXS, true);
        }
        
        @Test
@@ -615,13 +695,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColMaxsDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLMAXS, false);
+       public void testColMaxsDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMAXS, false);
        }
        
        @Test
-       public void testColMaxsSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLMAXS, false);
+       public void testColMaxsSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMAXS, false);
        }
        
        @Test
@@ -650,13 +730,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testMaxDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.MAX, true);
+       public void testMaxDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.MAX, true);
        }
        
        @Test
-       public void testMaxSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.MAX, true);
+       public void testMaxSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.MAX, true);
+       }
+       
+       @Test
+       public void testMaxDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.MAX, true);
+       }
+       
+       @Test
+       public void testMaxSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.MAX, true);
        }
        
        @Test
@@ -685,13 +775,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testMaxDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.MAX, false);
+       public void testMaxDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.MAX, false);
        }
        
        @Test
-       public void testMaxSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.MAX, false);
+       public void testMaxSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.MAX, false);
        }
        
        @Test
@@ -720,13 +810,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testRowMinsDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWMINS, true);
+       public void testRowMinsDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMINS, true);
        }
        
        @Test
-       public void testRowMinsSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWMINS, true);
+       public void testRowMinsSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMINS, true);
+       }
+       
+       @Test
+       public void testRowMinsDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWMINS, true);
+       }
+       
+       @Test
+       public void testRowMinsSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.ROWMINS, true);
        }
        
        @Test
@@ -755,13 +855,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testRowMinsDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.ROWMINS, false);
+       public void testRowMinsDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMINS, false);
        }
        
        @Test
-       public void testRowMinsSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.ROWMINS, false);
+       public void testRowMinsSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.ROWMINS, false);
        }
        
        @Test
@@ -790,13 +890,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColMinsDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLMINS, true);
+       public void testColMinsDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMINS, true);
+       }
+       
+       @Test
+       public void testColMinsSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMINS, true);
+       }
+       
+       @Test
+       public void testColMinsDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.COLMINS, true);
        }
        
        @Test
-       public void testColMinsSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLMINS, true);
+       public void testColMinsSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.COLMINS, true);
        }
        
        @Test
@@ -825,13 +935,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testColMinsDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.COLMINS, false);
+       public void testColMinsDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMINS, false);
        }
        
        @Test
-       public void testColMinsSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.COLMINS, false);
+       public void testColMinsSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.COLMINS, false);
        }
        
        @Test
@@ -860,13 +970,23 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testMinDenseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.MIN, true);
+       public void testMinDenseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.MIN, true);
        }
        
        @Test
-       public void testMinSparseRoundRandDataCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.MIN, true);
+       public void testMinSparseRoundRandDataOLECompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.MIN, true);
+       }
+       
+       @Test
+       public void testMinDenseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, AggType.MIN, true);
+       }
+       
+       @Test
+       public void testMinSparseRoundRandDataDDCCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, AggType.MIN, true);
        }
        
        @Test
@@ -895,13 +1015,13 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testMinDenseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.DENSE, ValueType.RAND_ROUND, 
AggType.MIN, false);
+       public void testMinDenseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, AggType.MIN, false);
        }
        
        @Test
-       public void testMinSparseRoundRandDataNoCompression() {
-               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, AggType.MIN, false);
+       public void testMinSparseRoundRandDataOLENoCompression() {
+               runUnaryAggregateTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, AggType.MIN, false);
        }
        
        @Test
@@ -933,8 +1053,10 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
                        //generate input data
                        double min = (vtype==ValueType.CONST)? 10 : -10;
                        double[][] input = TestUtils.generateTestMatrix(rows, 
cols1, min, 10, sparsity, 7);
-                       if( vtype==ValueType.RAND_ROUND )
+                       if( vtype==ValueType.RAND_ROUND_OLE || 
vtype==ValueType.RAND_ROUND_DDC ) {
+                               CompressedMatrixBlock.ALLOW_DDC_ENCODING = 
(vtype==ValueType.RAND_ROUND_DDC);
                                input = TestUtils.round(input);
+                       }
                        MatrixBlock mb = 
DataConverter.convertToMatrixBlock(input);
                        mb = mb.appendOperations(MatrixBlock.seqOperations(0.1, 
rows-0.1, 1), new MatrixBlock()); //uc group
                        
@@ -979,5 +1101,8 @@ public class ParUnaryAggregateTest extends 
AutomatedTestBase
                catch(Exception ex) {
                        throw new RuntimeException(ex);
                }
+               finally {
+                       CompressedMatrixBlock.ALLOW_DDC_ENCODING = true;
+               }
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/37a215bc/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
index bbf3dea..5281404 100644
--- 
a/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
+++ 
b/src/test/java/org/apache/sysml/test/integration/functions/compress/ParVectorMatrixMultTest.java
@@ -49,9 +49,10 @@ public class ParVectorMatrixMultTest extends 
AutomatedTestBase
        }
        
        public enum ValueType {
-               RAND,
-               RAND_ROUND,
-               CONST,
+               RAND, //UC
+               CONST, //RLE
+               RAND_ROUND_OLE, //OLE
+               RAND_ROUND_DDC, //RLE
        }
        
        @Override
@@ -75,13 +76,23 @@ public class ParVectorMatrixMultTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataCompression() {
-               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, true);
+       public void testDenseRoundRandDataOLECompression() {
+               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, true);
        }
        
        @Test
-       public void testSparseRoundRandDataCompression() {
-               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, true);
+       public void testSparseRoundRandDataOLECompression() {
+               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, true);
+       }
+       
+       @Test
+       public void testDenseRoundRandDataDDCCompression() {
+               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_DDC, true);
+       }
+       
+       @Test
+       public void testSparseRoundRandDataDDCCompression() {
+               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_DDC, true);
        }
        
        @Test
@@ -110,13 +121,13 @@ public class ParVectorMatrixMultTest extends 
AutomatedTestBase
        }
        
        @Test
-       public void testDenseRoundRandDataNoCompression() {
-               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND, false);
+       public void testDenseRoundRandDataOLENoCompression() {
+               runMatrixVectorMultTest(SparsityType.DENSE, 
ValueType.RAND_ROUND_OLE, false);
        }
        
        @Test
-       public void testSparseRoundRandDataNoCompression() {
-               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND, false);
+       public void testSparseRoundRandDataOLENoCompression() {
+               runMatrixVectorMultTest(SparsityType.SPARSE, 
ValueType.RAND_ROUND_OLE, false);
        }
        
        @Test
@@ -149,8 +160,10 @@ public class ParVectorMatrixMultTest extends 
AutomatedTestBase
                        //generate input data
                        double min = (vtype==ValueType.CONST)? 10 : -10;
                        double[][] input = TestUtils.generateTestMatrix(rows, 
cols, min, 10, sparsity, 7);
-                       if( vtype==ValueType.RAND_ROUND )
+                       if( vtype==ValueType.RAND_ROUND_OLE || 
vtype==ValueType.RAND_ROUND_DDC ) {
+                               CompressedMatrixBlock.ALLOW_DDC_ENCODING = 
(vtype==ValueType.RAND_ROUND_DDC);
                                input = TestUtils.round(input);
+                       }
                        MatrixBlock mb = 
DataConverter.convertToMatrixBlock(input);
                        MatrixBlock vector = DataConverter.convertToMatrixBlock(
                                        TestUtils.generateTestMatrix(1, rows, 
1, 1, 1.0, 3));
@@ -177,5 +190,8 @@ public class ParVectorMatrixMultTest extends 
AutomatedTestBase
                catch(Exception ex) {
                        throw new RuntimeException(ex);
                }
+               finally {
+                       CompressedMatrixBlock.ALLOW_DDC_ENCODING = true;
+               }
        }
 }


Reply via email to