[SYSTEMML-380] Fix set-index-range CSR sparse block (index handling) Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/39cf1647 Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/39cf1647 Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/39cf1647
Branch: refs/heads/master Commit: 39cf164748da11cc049a16a3a66e6b0e186d18e0 Parents: 78e161c Author: Matthias Boehm <[email protected]> Authored: Sat Jun 4 17:54:11 2016 -0700 Committer: Matthias Boehm <[email protected]> Committed: Sat Jun 4 17:54:11 2016 -0700 ---------------------------------------------------------------------- .../apache/sysml/runtime/matrix/data/SparseBlockCSR.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/39cf1647/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCSR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCSR.java b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCSR.java index 4bffc74..5108a2f 100644 --- a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCSR.java +++ b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockCSR.java @@ -352,14 +352,15 @@ public class SparseBlockCSR extends SparseBlock if( _values.length < lsize ) resize(lsize); int index = posFIndexGT(r, cl); - shiftRightByN((index>0)?index:pos(r+1), lnnz); + int index2 = (index>0)?index:pos(r+1); + shiftRightByN(index2, lnnz); //insert values for( int i=vix; i<vix+vlen; i++ ) if( v[i] != 0 ) { - _indexes[ index ] = cl+i-vix; - _values[ index ] = v[i]; - index++; + _indexes[ index2 ] = cl+i-vix; + _values[ index2 ] = v[i]; + index2++; } incrPtr(r+1, lnnz); }
