Repository: systemml
Updated Branches:
  refs/heads/master e0187028e -> 1d13c8bbc


[MINOR] Improved error reporting of dev sparse row validation

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

Branch: refs/heads/master
Commit: 1d13c8bbce6980f3244d3a624bfe380df10f0af0
Parents: e018702
Author: Matthias Boehm <[email protected]>
Authored: Tue Aug 7 17:42:29 2018 -0700
Committer: Matthias Boehm <[email protected]>
Committed: Tue Aug 7 20:49:32 2018 -0700

----------------------------------------------------------------------
 .../apache/sysml/runtime/matrix/data/MatrixBlock.java  | 13 ++++++++++---
 .../sysml/runtime/matrix/data/SparseBlockMCSR.java     |  4 ++--
 2 files changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/1d13c8bb/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 8f0821c..7af164e 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
@@ -1231,16 +1231,23 @@ public class MatrixBlock extends MatrixValue implements 
CacheBlock, Externalizab
                        throw new RuntimeException("Number of non zeros 
incorrect: "+nnzBefore+" vs "+nnzAfter);
        }
        
+       public void checkSparseRows() {
+               checkSparseRows(0, rlen);
+       }
+       
        /**
         * Basic debugging primitive to check sparse block column ordering.
-        * This method is not intended for production use. 
+        * This method is not intended for production use.
+        * 
+        * @param rl row lower bound (inclusive)
+        * @param ru row upper bound (exclusive)
         */
-       public void checkSparseRows() {
+       public void checkSparseRows(int rl, int ru) {
                if( !sparse || sparseBlock == null )
                        return;
                
                //check ordering of column indexes per sparse row
-               for( int i=0; i<rlen; i++ )
+               for( int i=rl; i<ru; i++ )
                        if( !sparseBlock.isEmpty(i) ) {
                                int apos = sparseBlock.pos(i);
                                int alen = sparseBlock.size(i);

http://git-wip-us.apache.org/repos/asf/systemml/blob/1d13c8bb/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java
index 840d034..b82a096 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java
@@ -188,8 +188,8 @@ public class SparseBlockMCSR extends SparseBlock
                        double[] avals = values(i);
                        for (int k = apos + 1; k < apos + alen; k++) {
                                if (aix[k-1] >= aix[k])
-                                       throw new RuntimeException("Wrong 
sparse row ordering, at row: "
-                                               + k + "with " + aix[k-1] + ">=" 
+ aix[k]);
+                                       throw new RuntimeException("Wrong 
sparse row ordering, at row="+i+", pos="+k
+                                               + " with column indexes " + 
aix[k-1] + ">=" + aix[k]);
                                if (avals[k] == 0)
                                        throw new RuntimeException("The values 
are expected to be non zeros "
                                                + "but zero at row: "+ i + ", 
col pos: " + k);

Reply via email to