From 3f9a157d18ed4db976be863c003fef216f966f8c Mon Sep 17 00:00:00 2001 From: Sebastian Baunsgaard Date: Wed, 6 Sep 2023 10:09:41 +0200 Subject: [PATCH] [MINOR] Refine internal sparse printing This commit change the internal printing of sparse matrices to print in LIBSVM format. The change happens because I realized that I accidentally made the internal writer print something very close to LIBSVM. I could therefore not help myself not to make a minor refinement to make it LIBSVM. --- .../org/apache/sysds/runtime/data/SparseBlockCSR.java | 4 ++-- .../org/apache/sysds/runtime/data/SparseBlockMCSR.java | 8 ++++++-- .../java/org/apache/sysds/runtime/data/SparseRow.java | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/apache/sysds/runtime/data/SparseBlockCSR.java b/src/main/java/org/apache/sysds/runtime/data/SparseBlockCSR.java index c33420f9f48..1e1d8a3618e 100644 --- a/src/main/java/org/apache/sysds/runtime/data/SparseBlockCSR.java +++ b/src/main/java/org/apache/sysds/runtime/data/SparseBlockCSR.java @@ -888,14 +888,14 @@ public String toString() { final int pos = pos(i); final int len = size(i); if(pos < pos + len) { - sb.append(String.format("row %0"+rowDigits+"d -- ", i)); + sb.append(String.format("%0"+rowDigits+"d ", i)); for(int j = pos; j < pos + len; j++) { if(_values[j] == (long) _values[j]) sb.append(String.format("%"+rowDigits+"d:%d", _indexes[j], (long)_values[j])); else sb.append(String.format("%"+rowDigits+"d:%s", _indexes[j], Double.toString(_values[j]))); if(j + 1 < pos + len) - sb.append(", "); + sb.append(" "); } sb.append("\n"); } diff --git a/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSR.java b/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSR.java index 672ef1a1a4b..1886d5eb880 100644 --- a/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSR.java +++ b/src/main/java/org/apache/sysds/runtime/data/SparseBlockMCSR.java @@ -87,9 +87,13 @@ public SparseBlockMCSR(SparseRow[] rows, boolean deep) { } } - public SparseBlockMCSR(int rlen, int clen) { + public SparseBlockMCSR(int rlen){ _rows = new SparseRow[rlen]; } + + public SparseBlockMCSR(int rlen, int clen) { + this(rlen); + } /** * Get the estimated in-memory size of the sparse block in MCSR @@ -436,7 +440,7 @@ public String toString() { for( int i=0; i