Author: smarthi
Date: Thu Aug 1 21:46:53 2013
New Revision: 1509439
URL: http://svn.apache.org/r1509439
Log:
MAHOUT-1301: toString() method of SequentialAccessSparseVector has excess
comma at the end
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseVector.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomAccessSparseVector.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java
mahout/trunk/math/src/test/java/org/apache/mahout/math/AbstractVectorTest.java
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
(original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
Thu Aug 1 21:46:53 2013
@@ -633,6 +633,30 @@ public abstract class AbstractVector imp
return result.toString();
}
+ /**
+ * toString() implementation for sparse vectors via {@link #nonZeroes()}
method
+ * @return String representation of the vector
+ */
+ public String sparseVectorToString() {
+ Iterator<Element> it = iterateNonZero();
+ if (!it.hasNext()) {
+ return "{}";
+ }
+ else {
+ StringBuilder result = new StringBuilder();
+ result.append('{');
+ while (it.hasNext()) {
+ Vector.Element e = it.next();
+ result.append(e.index());
+ result.append(':');
+ result.append(e.get());
+ result.append(',');
+ }
+ result.setCharAt(result.length() - 1, '}');
+ return result.toString();
+ }
+ }
+
protected final class LocalElement implements Element {
int index;
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseVector.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseVector.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseVector.java
(original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseVector.java Thu
Aug 1 21:46:53 2013
@@ -33,7 +33,9 @@ public class DenseVector extends Abstrac
super(0);
}
- /** Construct a new instance using provided values */
+ /** Construct a new instance using provided values
+ * @param values - array of values
+ */
public DenseVector(double[] values) {
this(values, false);
}
@@ -47,7 +49,9 @@ public class DenseVector extends Abstrac
this(values.values, shallowCopy);
}
- /** Construct a new instance of the given cardinality */
+ /** Construct a new instance of the given cardinality
+ * @param cardinality - number of values in the vector
+ */
public DenseVector(int cardinality) {
super(cardinality);
this.values = new double[cardinality];
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomAccessSparseVector.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomAccessSparseVector.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
---
mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomAccessSparseVector.java
(original)
+++
mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomAccessSparseVector.java
Thu Aug 1 21:46:53 2013
@@ -75,23 +75,7 @@ public class RandomAccessSparseVector ex
@Override
public String toString() {
- StringBuilder result = new StringBuilder();
- result.append('{');
- Iterator<Element> it = iterateNonZero();
- boolean first = true;
- while (it.hasNext()) {
- if (first) {
- first = false;
- } else {
- result.append(',');
- }
- Element e = it.next();
- result.append(e.index());
- result.append(':');
- result.append(e.get());
- }
- result.append('}');
- return result.toString();
+ return sparseVectorToString();
}
@Override
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
---
mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java
(original)
+++
mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java
Thu Aug 1 21:46:53 2013
@@ -126,18 +126,7 @@ public class SequentialAccessSparseVecto
@Override
public String toString() {
- StringBuilder result = new StringBuilder();
- result.append('{');
- Iterator<Element> it = iterateNonZero();
- while (it.hasNext()) {
- Element e = it.next();
- result.append(e.index());
- result.append(':');
- result.append(e.get());
- result.append(',');
- }
- result.append('}');
- return result.toString();
+ return sparseVectorToString();
}
/**
Modified:
mahout/trunk/math/src/test/java/org/apache/mahout/math/AbstractVectorTest.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/test/java/org/apache/mahout/math/AbstractVectorTest.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
---
mahout/trunk/math/src/test/java/org/apache/mahout/math/AbstractVectorTest.java
(original)
+++
mahout/trunk/math/src/test/java/org/apache/mahout/math/AbstractVectorTest.java
Thu Aug 1 21:46:53 2013
@@ -3,6 +3,7 @@ package org.apache.mahout.math;
import java.util.Iterator;
import java.util.Random;
+import com.google.common.collect.Iterables;
import org.apache.mahout.common.RandomUtils;
import org.apache.mahout.math.Vector.Element;
import org.apache.mahout.math.function.Functions;
@@ -593,11 +594,7 @@ public abstract class AbstractVectorTest
}
}
- int nonZeroIterated = 0;
-
- for (Element ignored : v0.nonZeroes()) {
- nonZeroIterated++;
- }
+ int nonZeroIterated = Iterables.size(v0.nonZeroes());
assertEquals(20, elements);
assertEquals(v0.size(), elements);
assertEquals(nonZeroIterated, nonZero);
@@ -623,4 +620,22 @@ public abstract class AbstractVectorTest
}
}
}
+
+
+ public void testToString() {
+ Vector w;
+
+ w = generateTestVector(20);
+ w.set(0, 1.1);
+ w.set(13, 100500.);
+ w.set(19, 3.141592);
+ assertEquals("{0:1.1,13:100500.0,19:3.141592}", w.toString());
+
+ w = generateTestVector(12);
+ w.set(10, 0.1);
+ assertEquals("{10:0.1}", w.toString());
+
+ w = generateTestVector(12);
+ assertEquals("{}", w.toString());
+ }
}
Modified:
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
--- mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java
(original)
+++ mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java
Thu Aug 1 21:46:53 2013
@@ -18,6 +18,7 @@
package org.apache.mahout.math;
import org.apache.mahout.math.function.Functions;
+import org.junit.Test;
public final class TestDenseVector extends AbstractVectorTest<DenseVector> {
@@ -37,4 +38,10 @@ public final class TestDenseVector exten
r.assign(Functions.random());
return r;
}
+
+ @Override
+ @Test
+ public void testToString() {
+ super.testToString();
+ }
}
Modified:
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
---
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
(original)
+++
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
Thu Aug 1 21:46:53 2013
@@ -18,6 +18,7 @@
package org.apache.mahout.math;
import org.apache.mahout.common.RandomUtils;
+import org.junit.Test;
import java.util.Random;
@@ -39,4 +40,9 @@ public final class TestRandomAccessSpars
return r;
}
+ @Override
+ @Test
+ public void testToString() {
+ super.testToString();
+ }
}
Modified:
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java?rev=1509439&r1=1509438&r2=1509439&view=diff
==============================================================================
---
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
(original)
+++
mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
Thu Aug 1 21:46:53 2013
@@ -52,4 +52,11 @@ public final class TestSequentialAccessS
}
return r;
}
+
+
+ @Override
+ @Test
+ public void testToString() {
+ super.testToString();
+ }
}
\ No newline at end of file