Repository: systemml
Updated Branches:
  refs/heads/master 682da9cdc -> 614adecaf


[SYSTEMML-2434] Support for matrix market symmetry general/symmetric

This patch introduces support for matrix market symmetry types beyond
general in CP and Spark execution modes. Specifically, we now also
support symmetric inputs that are expanded into general matrices during
read. We do not support skew-symmetric (although easy to add) because R
does not implement this yet and hence we cannot compare for testing. 


Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/614adeca
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/614adeca
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/614adeca

Branch: refs/heads/master
Commit: 614adecaf5e2b1c4b0b9273fa0e63841307fb790
Parents: 682da9c
Author: Matthias Boehm <[email protected]>
Authored: Fri Jul 13 23:44:34 2018 -0700
Committer: Matthias Boehm <[email protected]>
Committed: Fri Jul 13 23:44:34 2018 -0700

----------------------------------------------------------------------
 .../org/apache/sysml/parser/DataExpression.java |  37 +++--
 .../spark/utils/RDDConverterUtils.java          |   2 +
 .../runtime/io/FileFormatPropertiesMM.java      |  13 +-
 .../apache/sysml/runtime/io/ReaderTextCell.java |  36 +++--
 .../runtime/io/ReaderTextCellParallel.java      |  21 +--
 .../apache/sysml/runtime/matrix/data/IJV.java   |   4 +
 .../functions/data/MatrixMarketFormatTest.java  | 154 +++++++++----------
 7 files changed, 141 insertions(+), 126 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/614adeca/src/main/java/org/apache/sysml/parser/DataExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/DataExpression.java 
b/src/main/java/org/apache/sysml/parser/DataExpression.java
index eafdd13..44f368e 100644
--- a/src/main/java/org/apache/sysml/parser/DataExpression.java
+++ b/src/main/java/org/apache/sysml/parser/DataExpression.java
@@ -48,31 +48,31 @@ import org.apache.wink.json4j.JSONObject;
 
 public class DataExpression extends DataIdentifier 
 {
-       public static final String RAND_ROWS    =  "rows";       
-       public static final String RAND_COLS    =  "cols";
-       public static final String RAND_MIN     =  "min";
-       public static final String RAND_MAX     =  "max";
-       public static final String RAND_SPARSITY = "sparsity"; 
-       public static final String RAND_SEED    =  "seed";
-       public static final String RAND_PDF             =  "pdf";
-       public static final String RAND_LAMBDA  =  "lambda";
+       public static final String RAND_ROWS = "rows";
+       public static final String RAND_COLS = "cols";
+       public static final String RAND_MIN = "min";
+       public static final String RAND_MAX = "max";
+       public static final String RAND_SPARSITY = "sparsity";
+       public static final String RAND_SEED = "seed";
+       public static final String RAND_PDF = "pdf";
+       public static final String RAND_LAMBDA = "lambda";
        
        public static final String RAND_PDF_UNIFORM = "uniform";
        
-       public static final String RAND_BY_ROW   =  "byrow";     
-       public static final String RAND_DIMNAMES =  "dimnames";
-       public static final String RAND_DATA     =  "data";
+       public static final String RAND_BY_ROW = "byrow";
+       public static final String RAND_DIMNAMES = "dimnames";
+       public static final String RAND_DATA = "data";
        
        public static final String IO_FILENAME = "iofilename";
        public static final String READROWPARAM = "rows";
        public static final String READCOLPARAM = "cols";
        public static final String READNNZPARAM = "nnz";
        
-       public static final String FORMAT_TYPE                                  
        = "format";
-       public static final String FORMAT_TYPE_VALUE_TEXT                       
= "text";
-       public static final String FORMAT_TYPE_VALUE_BINARY             = 
"binary";
-       public static final String FORMAT_TYPE_VALUE_CSV                        
= "csv";
-       public static final String FORMAT_TYPE_VALUE_MATRIXMARKET       = "mm";
+       public static final String FORMAT_TYPE = "format";
+       public static final String FORMAT_TYPE_VALUE_TEXT = "text";
+       public static final String FORMAT_TYPE_VALUE_BINARY = "binary";
+       public static final String FORMAT_TYPE_VALUE_CSV = "csv";
+       public static final String FORMAT_TYPE_VALUE_MATRIXMARKET = "mm";
        
        public static final String ROWBLOCKCOUNTPARAM = "rows_in_block";
        public static final String COLUMNBLOCKCOUNTPARAM = "cols_in_block";
@@ -663,7 +663,6 @@ public class DataExpression extends DataIdentifier
                                        // process 1st line of MatrixMarket 
format to check for support types
                                        
                                        String firstLine = 
headerLines[0].trim();
-                                       @SuppressWarnings("unused")
                                        FileFormatPropertiesMM props = 
FileFormatPropertiesMM.parse(firstLine);
                                        
                                        // process 2nd line of MatrixMarket 
format -- must have size information
@@ -672,7 +671,7 @@ public class DataExpression extends DataIdentifier
                                        String[] sizeInfo = 
secondLine.trim().split("\\s+");
                                        if (sizeInfo.length != 3){
                                                raiseValidateError("Unsupported 
size line in MatrixMarket file: " +
-                                                               headerLines[1] 
+ ". Only supported format in MatrixMarket file has size line: <NUM ROWS> <NUM 
COLS> <NUM NON-ZEROS>, where each value is an integer.", conditional);
+                                                       headerLines[1] + ". 
Only supported format in MatrixMarket file has size line: <NUM ROWS> <NUM COLS> 
<NUM NON-ZEROS>, where each value is an integer.", conditional);
                                        }
                                
                                        long rowsCount = 
Long.parseLong(sizeInfo[0]);
@@ -696,7 +695,7 @@ public class DataExpression extends DataIdentifier
                                        }
                                        addVarParam(READCOLPARAM, new 
IntIdentifier(colsCount, this));
                                        
-                                       long nnzCount = 
Long.parseLong(sizeInfo[2]);
+                                       long nnzCount = 
Long.parseLong(sizeInfo[2]) * (props.isSymmetric() ? 2 : 1);
                                        if (nnzCount < 0)
                                                raiseValidateError("MM file: 
invalid number of non-zeros: "+nnzCount);
                                        else if( getVarParam(READNNZPARAM) != 
null ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/614adeca/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
index 4f9e5f9..f775e92 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/utils/RDDConverterUtils.java
@@ -542,6 +542,8 @@ public class RDDConverterUtils
                                
                                //add value to reblock buffer
                                rbuff.appendCell(row, col, val);
+                               if( _mmProps != null && _mmProps.isSymmetric() 
&& row!=col )
+                                       rbuff.appendCell(col, row, val);
                        }
                        
                        //final flush buffer

http://git-wip-us.apache.org/repos/asf/systemml/blob/614adeca/src/main/java/org/apache/sysml/runtime/io/FileFormatPropertiesMM.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/io/FileFormatPropertiesMM.java 
b/src/main/java/org/apache/sysml/runtime/io/FileFormatPropertiesMM.java
index dd806d4..2640fe4 100644
--- a/src/main/java/org/apache/sysml/runtime/io/FileFormatPropertiesMM.java
+++ b/src/main/java/org/apache/sysml/runtime/io/FileFormatPropertiesMM.java
@@ -95,6 +95,11 @@ public class FileFormatPropertiesMM extends 
FileFormatProperties implements Seri
        public boolean isPatternField() {
                return _field == MMField.PATTERN;
        }
+       
+       public boolean isSymmetric() {
+               return _symmetry == MMSymmetry.SYMMETRIC
+                       || _symmetry == MMSymmetry.SKEW_SYMMETRIC;
+       }
 
        public static FileFormatPropertiesMM parse(String header) {
                //example: %%MatrixMarket matrix coordinate real general
@@ -121,7 +126,7 @@ public class FileFormatPropertiesMM extends 
FileFormatProperties implements Seri
                        //case "array": fmt = MMFormat.ARRAY; break;
                        case "coordinate": fmt = MMFormat.COORDINATE; break;
                        default: throw new DMLRuntimeException("MatrixMarket: "
-                               + "Incorrect format: "+format+" (expected array 
| coordinate).");
+                               + "Incorrect format: "+format+" (expected 
coordinate).");
                }
                String field = st.nextToken();
                MMField f = null;
@@ -137,11 +142,11 @@ public class FileFormatPropertiesMM extends 
FileFormatProperties implements Seri
                MMSymmetry s = null;
                switch( symmetry ) {
                        case "general": s = MMSymmetry.GENERAL; break;
-                       //case "symmetric": s = MMSymmetry.SYMMETRIC; break;
-                       //case "skew-symmetric": s = MMSymmetry.SKEW_SYMMETRIC; 
break;
+                       case "symmetric": s = MMSymmetry.SYMMETRIC; break;
+                       //case "skew-symmetric": s = MMSymmetry.SKEW_SYMMETRIC; 
break; //not support in R
                        //note: Hermitian not supported
                        default: throw new DMLRuntimeException("MatrixMarket: "
-                               + "Incorrect symmetry: "+symmetry+" (expected 
general | symmetric | skew-symmetric).");
+                               + "Incorrect symmetry: "+symmetry+" (expected 
general | symmetric).");
                }
                
                //construct file properties and check valid combination

http://git-wip-us.apache.org/repos/asf/systemml/blob/614adeca/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java 
b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
index 45f117f..1bf1e17 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCell.java
@@ -136,8 +136,7 @@ public class ReaderTextCell extends MatrixReader
                                        if( sparse ) { //SPARSE<-value
                                                while( reader.next(key, value) 
) {
                                                        cell = 
parseCell(value.toString(), st, cell, _mmProps);
-                                                       if( cell.getV() != 0 )
-                                                               
dest.appendValue(cell.getI(), cell.getJ(), cell.getV());
+                                                       appendCell(cell, dest, 
_mmProps);
                                                }
                                                dest.sortSparseRows();
                                        } 
@@ -145,10 +144,7 @@ public class ReaderTextCell extends MatrixReader
                                                DenseBlock a = 
dest.getDenseBlock();
                                                while( reader.next(key, value) 
) {
                                                        cell = 
parseCell(value.toString(), st, cell, _mmProps);
-                                                       if( cell.getV() != 0 ) {
-                                                               a.set( 
cell.getI(), cell.getJ(), cell.getV() );
-                                                               nnz ++;
-                                                       }
+                                                       nnz += appendCell(cell, 
a, _mmProps);
                                                }
                                        }
                                }
@@ -178,6 +174,26 @@ public class ReaderTextCell extends MatrixReader
                        mmProps.isPatternField() ? 1 : mmProps.isIntField() ? 
st.nextLong() : st.nextDouble();
                return cell.set(row, col, value);
        }
+       
+       protected static int appendCell(IJV cell, MatrixBlock dest, 
FileFormatPropertiesMM mmProps) {
+               if( cell.getV() == 0 ) return 0;
+               dest.appendValue(cell.getI(), cell.getJ(), cell.getV());
+               if( mmProps != null && mmProps.isSymmetric() && !cell.onDiag() 
) {
+                       dest.appendValue(cell.getJ(), cell.getI(), cell.getV());
+                       return 2;
+               }
+               return 1;
+       }
+       
+       protected static int appendCell(IJV cell, DenseBlock dest, 
FileFormatPropertiesMM mmProps) {
+               if( cell.getV() == 0 ) return 0;
+               dest.set(cell.getI(), cell.getJ(), cell.getV());
+               if( mmProps != null && mmProps.isSymmetric() && ! cell.onDiag() 
) {
+                       dest.set(cell.getJ(), cell.getI(), cell.getV());
+                       return 2;
+               }
+               return 1;
+       }
 
        private static void readRawTextCellMatrixFromHDFS( Path path, JobConf 
job, FileSystem fs, MatrixBlock dest, long rlen, long clen, int brlen, int 
bclen, boolean matrixMarket )
                throws IOException
@@ -230,8 +246,7 @@ public class ReaderTextCell extends MatrixReader
                        if( sparse ) { //SPARSE<-value
                                while( (value=br.readLine())!=null ) {
                                        cell = parseCell(value.toString(), st, 
cell, mmProps);
-                                       if( cell.getV() != 0 )
-                                               dest.appendValue(cell.getI(), 
cell.getJ(), cell.getV());
+                                       appendCell(cell, dest, mmProps);
                                }
                                dest.sortSparseRows();
                        } 
@@ -239,10 +254,7 @@ public class ReaderTextCell extends MatrixReader
                                DenseBlock a = dest.getDenseBlock();
                                while( (value=br.readLine())!=null ) {
                                        cell = parseCell(value.toString(), st, 
cell, mmProps);
-                                       if( cell.getV() != 0 ) {
-                                               a.set( cell.getI(), 
cell.getJ(), cell.getV() );
-                                               nnz ++;
-                                       }
+                                       nnz += appendCell(cell, a, mmProps);
                                }
                                dest.setNonZeros(nnz);
                        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/614adeca/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java 
b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
index 1ce0164..de948f3 100644
--- a/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
+++ b/src/main/java/org/apache/sysml/runtime/io/ReaderTextCellParallel.java
@@ -171,11 +171,8 @@ public class ReaderTextCellParallel extends ReaderTextCell
                                        //process current value (otherwise 
ignore following meta data)
                                        if( !foundComment ) {
                                                cell = 
parseCell(value.toString(), st, cell, _mmProps);
-                                               if( cell.getV() != 0 ) {
-                                                       synchronized( _dest ){ 
//sparse requires lock
-                                                               
_dest.appendValue(cell.getI(), cell.getJ(), cell.getV());
-                                                               lnnz++;
-                                                       }
+                                               synchronized( _dest ){ //sparse 
requires lock
+                                                       lnnz += 
appendCell(cell, _dest, _mmProps);
                                                }
                                        }
                                }
@@ -183,7 +180,10 @@ public class ReaderTextCellParallel extends ReaderTextCell
                                if( _sparse ) { //SPARSE<-value
                                        CellBuffer buff = new CellBuffer();
                                        while( reader.next(key, value) ) {
-                                               
buff.addCell(parseCell(value.toString(), st, cell, _mmProps));
+                                               cell = 
parseCell(value.toString(), st, cell, _mmProps);
+                                               buff.addCell(cell.getI(), 
cell.getJ(), cell.getV());
+                                               if( _mmProps != null && 
_mmProps.isSymmetric() && !cell.onDiag() )
+                                                       
buff.addCell(cell.getJ(), cell.getI(), cell.getV());
                                                if( 
buff.size()>=CellBuffer.CAPACITY ) 
                                                        synchronized( _dest ){ 
//sparse requires lock
                                                                lnnz += 
buff.size();
@@ -200,10 +200,7 @@ public class ReaderTextCellParallel extends ReaderTextCell
                                        DenseBlock a = _dest.getDenseBlock();
                                        while( reader.next(key, value) ) {
                                                cell = 
parseCell(value.toString(), st, cell, _mmProps);
-                                               if( cell.getV() != 0 ) {
-                                                       a.set( cell.getI(), 
cell.getJ(), cell.getV() );
-                                                       lnnz ++;
-                                               }
+                                               lnnz += appendCell(cell, a, 
_mmProps);
                                        }
                                }
                        }
@@ -244,10 +241,6 @@ public class ReaderTextCellParallel extends ReaderTextCell
                        _pos = -1;
                }
                
-               public void addCell(IJV cell) {
-                       addCell(cell.getI(), cell.getJ(), cell.getV());
-               }
-               
                public void addCell(int rlen, int clen, double val) {
                        if( val==0 ) return;
                        _pos++;

http://git-wip-us.apache.org/repos/asf/systemml/blob/614adeca/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
index 86c25e3..36bbe39 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/IJV.java
@@ -52,6 +52,10 @@ public class IJV
                return _v;
        }
        
+       public boolean onDiag() {
+               return _i == _j;
+       }
+       
        @Override
        public String toString() {
                return "("+_i+", "+_j+"): "+_v;

http://git-wip-us.apache.org/repos/asf/systemml/blob/614adeca/src/test/java/org/apache/sysml/test/integration/functions/data/MatrixMarketFormatTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/sysml/test/integration/functions/data/MatrixMarketFormatTest.java
 
b/src/test/java/org/apache/sysml/test/integration/functions/data/MatrixMarketFormatTest.java
index 59e3aa5..2ecad5f 100644
--- 
a/src/test/java/org/apache/sysml/test/integration/functions/data/MatrixMarketFormatTest.java
+++ 
b/src/test/java/org/apache/sysml/test/integration/functions/data/MatrixMarketFormatTest.java
@@ -83,15 +83,15 @@ public class MatrixMarketFormatTest extends 
AutomatedTestBase
                runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.REAL, 
MMSymmetry.SYMMETRIC, ExecType.SPARK);
        }
 
-       @Test
-       public void testMMCooRealSkewSymmetricCP() {
-               runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMCooRealSkewSymmetricSp() {
-               runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
-       }
+//     @Test
+//     public void testMMCooRealSkewSymmetricCP() {
+//             runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMCooRealSkewSymmetricSp() {
+//             runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
+//     }
        
        @Test
        public void testMMCooIntegerGeneralCP() {
@@ -118,15 +118,15 @@ public class MatrixMarketFormatTest extends 
AutomatedTestBase
                runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.INTEGER, 
MMSymmetry.SYMMETRIC, ExecType.SPARK);
        }
 
-       @Test
-       public void testMMCooIntegerSkewSymmetricCP() {
-               runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMCooIntegerSkewSymmetricSp() {
-               runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
-       }
+//     @Test
+//     public void testMMCooIntegerSkewSymmetricCP() {
+//             runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMCooIntegerSkewSymmetricSp() {
+//             runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
+//     }
        
        @Test
        public void testMMCooPatternGeneralCP() {
@@ -148,65 +148,65 @@ public class MatrixMarketFormatTest extends 
AutomatedTestBase
                runMatrixMarketFormatTest(MMFormat.COORDINATE, MMField.PATTERN, 
MMSymmetry.SYMMETRIC, ExecType.SPARK);
        }
 
-       @Test
-       public void testMMArrRealGeneralCP() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.GENERAL, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMArrRealGeneralSp() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.GENERAL, ExecType.SPARK);
-       }
-       
-       @Test
-       public void testMMArrRealSymmetricCP() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SYMMETRIC, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMArrRealSymmetricSp() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SYMMETRIC, ExecType.SPARK);
-       }
-       
-       @Test
-       public void testMMArrRealSkewSymmetricCP() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMArrRealSkewSymmetricSp() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
-       }
-       
-       @Test
-       public void testMMArrIntegerGeneralCP() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.GENERAL, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMArrIntegerGeneralSp() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.GENERAL, ExecType.SPARK);
-       }
-       
-       @Test
-       public void testMMArrIntegerSymmetricCP() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SYMMETRIC, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMArrIntegerSymmetricSp() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SYMMETRIC, ExecType.SPARK);
-       }
-       
-       @Test
-       public void testMMArrIntegerSkewSymmetricCP() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
-       }
-       
-       @Test
-       public void testMMArrIntegerSkewSymmetricSp() {
-               runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
-       }
+//     @Test
+//     public void testMMArrRealGeneralCP() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.GENERAL, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMArrRealGeneralSp() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.GENERAL, ExecType.SPARK);
+//     }
+//     
+//     @Test
+//     public void testMMArrRealSymmetricCP() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SYMMETRIC, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMArrRealSymmetricSp() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SYMMETRIC, ExecType.SPARK);
+//     }
+//     
+//     @Test
+//     public void testMMArrRealSkewSymmetricCP() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMArrRealSkewSymmetricSp() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.REAL, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
+//     }
+//     
+//     @Test
+//     public void testMMArrIntegerGeneralCP() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.GENERAL, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMArrIntegerGeneralSp() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.GENERAL, ExecType.SPARK);
+//     }
+//     
+//     @Test
+//     public void testMMArrIntegerSymmetricCP() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SYMMETRIC, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMArrIntegerSymmetricSp() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SYMMETRIC, ExecType.SPARK);
+//     }
+//     
+//     @Test
+//     public void testMMArrIntegerSkewSymmetricCP() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.CP);
+//     }
+//     
+//     @Test
+//     public void testMMArrIntegerSkewSymmetricSp() {
+//             runMatrixMarketFormatTest(MMFormat.ARRAY, MMField.INTEGER, 
MMSymmetry.SKEW_SYMMETRIC, ExecType.SPARK);
+//     }
 
        private void runMatrixMarketFormatTest(MMFormat fmt, MMField field, 
MMSymmetry symmetry, ExecType et)
        {

Reply via email to