[MINOR] Simplification 1x1 matrix initialization with scalar

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

Branch: refs/heads/master
Commit: fa6394cc6981e80b262549ab86bd535124c3212b
Parents: d6e2ae6
Author: Matthias Boehm <[email protected]>
Authored: Wed May 9 20:47:30 2018 -0700
Committer: Matthias Boehm <[email protected]>
Committed: Thu May 10 12:28:39 2018 -0700

----------------------------------------------------------------------
 .../runtime/instructions/cp/QuaternaryCPInstruction.java  | 10 +++-------
 .../runtime/instructions/cp/VariableCPInstruction.java    |  3 +--
 .../runtime/instructions/mr/QuaternaryInstruction.java    |  3 +--
 .../org/apache/sysml/runtime/matrix/data/MatrixBlock.java |  8 +++-----
 .../functions/misc/UnivariateStatsBasicTest.java          |  3 +--
 5 files changed, 9 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/fa6394cc/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java
index 85d2422..e9ed9a9 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java
@@ -106,14 +106,10 @@ public class QuaternaryCPInstruction extends 
ComputationCPInstruction {
                MatrixBlock matBlock3 = ec.getMatrixInput(input3.getName(), 
getExtendedOpcode());
                MatrixBlock matBlock4 = null;
                if( qop.hasFourInputs() ) {
-                       if (input4.getDataType() == DataType.SCALAR) {
-                               matBlock4 = new MatrixBlock(1, 1, false);
-                               final double eps = 
ec.getScalarInput(input4.getName(), input4.getValueType(), 
input4.isLiteral()).getDoubleValue();
-                               matBlock4.quickSetValue(0, 0, eps);
-                       }
-                       else {
+                       if (input4.getDataType() == DataType.SCALAR)
+                               matBlock4 = new 
MatrixBlock(ec.getScalarInput(input4).getDoubleValue());
+                       else
                                matBlock4 = ec.getMatrixInput(input4.getName(), 
getExtendedOpcode());
-                       }
                }
                
                //core execute

http://git-wip-us.apache.org/repos/asf/systemml/blob/fa6394cc/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
index 6d30346..5786e87 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
@@ -581,8 +581,7 @@ public class VariableCPInstruction extends CPInstruction {
                        else if( getInput1().getDataType()==DataType.SCALAR ) {
                                ScalarObject scalarInput = ec.getScalarInput(
                                        getInput1().getName(), 
getInput1().getValueType(), getInput1().isLiteral());
-                               MatrixBlock out = new MatrixBlock(1,1,false);
-                               out.quickSetValue(0, 0, 
scalarInput.getDoubleValue());
+                               MatrixBlock out = new 
MatrixBlock(scalarInput.getDoubleValue());
                                ec.setMatrixOutput(output.getName(), out, 
getExtendedOpcode());
                        }
                        else if( getInput1().getDataType()==DataType.LIST ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/fa6394cc/src/main/java/org/apache/sysml/runtime/instructions/mr/QuaternaryInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/QuaternaryInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/QuaternaryInstruction.java
index bf7dfdf..da8bd12 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/QuaternaryInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/QuaternaryInstruction.java
@@ -309,9 +309,8 @@ public class QuaternaryInstruction extends MRInstruction 
implements IDistributed
                                IndexedMatrixValue iWij = (_input4 != -1) ? 
cachedValues.getFirst(_input4) : null; 
                                MatrixValue Wij = (iWij!=null) ? 
iWij.getValue() : null;
                                if (null == Wij && qop.hasFourInputs()) {
-                                       MatrixBlock mb = new MatrixBlock(1, 1, 
false);
                                        String[] parts = 
InstructionUtils.getInstructionParts(instString);
-                                       mb.quickSetValue(0, 0, 
Double.valueOf(parts[4]));
+                                       MatrixBlock mb = new 
MatrixBlock(Double.valueOf(parts[4]));
                                        Wij = mb;
                                }
                                

http://git-wip-us.apache.org/repos/asf/systemml/blob/fa6394cc/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
index ae48c1b..61a1086 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java
@@ -5235,14 +5235,12 @@ public class MatrixBlock extends MatrixValue implements 
CacheBlock, Externalizab
                                LibMatrixMult.matrixMultWSigmoid(X, U, V, R, 
qop.wtype2, k);
                        else
                                LibMatrixMult.matrixMultWSigmoid(X, U, V, R, 
qop.wtype2);
-               }       
+               }
                else if( qop.wtype3 != null ){ //wdivmm
                        //note: for wdivmm-minus X and W interchanged because W 
always present 
                        MatrixBlock W = qop.wtype3.hasFourInputs() ? 
checkType(wm) : null;
-                       if( qop.getScalar() != 0 ) {
-                               W = new MatrixBlock(1, 1, false);
-                               W.quickSetValue(0, 0, qop.getScalar());
-                       }
+                       if( qop.getScalar() != 0 )
+                               W = new MatrixBlock(qop.getScalar());
                        if( k > 1 )
                                LibMatrixMult.matrixMultWDivMM(X, U, V, W, R, 
qop.wtype3, k);
                        else

http://git-wip-us.apache.org/repos/asf/systemml/blob/fa6394cc/src/test/java/org/apache/sysml/test/integration/functions/misc/UnivariateStatsBasicTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/sysml/test/integration/functions/misc/UnivariateStatsBasicTest.java
 
b/src/test/java/org/apache/sysml/test/integration/functions/misc/UnivariateStatsBasicTest.java
index 849b293..525a92d 100644
--- 
a/src/test/java/org/apache/sysml/test/integration/functions/misc/UnivariateStatsBasicTest.java
+++ 
b/src/test/java/org/apache/sysml/test/integration/functions/misc/UnivariateStatsBasicTest.java
@@ -77,8 +77,7 @@ public class UnivariateStatsBasicTest extends 
AutomatedTestBase
                        runTest(true, false, null, -1);                         
                        
                        
                        //write input types
-                       MatrixBlock mb = new MatrixBlock(1,1,false);
-                       mb.quickSetValue(0, 0, 1);
+                       MatrixBlock mb = new MatrixBlock(1d);
                        
MatrixWriterFactory.createMatrixWriter(OutputInfo.CSVOutputInfo)
                                .writeMatrixToHDFS(mb, input("uni-types.csv"), 
1, 1, 1, 1, 1);
                        
MapReduceTool.writeMetaDataFile(input("uni-types.csv.mtd"), ValueType.DOUBLE, 

Reply via email to