Author: jeastman
Date: Tue Jun 16 14:06:51 2009
New Revision: 785221
URL: http://svn.apache.org/viewvc?rev=785221&view=rev
Log:
MAHOUT-65: added set(label, index, value) and added a unit test thereof
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/Vector.java
lucene/mahout/trunk/core/src/test/java/org/apache/mahout/matrix/VectorTest.java
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java?rev=785221&r1=785220&r2=785221&view=diff
==============================================================================
---
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java
(original)
+++
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java
Tue Jun 16 14:06:51 2009
@@ -18,6 +18,7 @@
package org.apache.mahout.matrix;
import java.lang.reflect.Type;
+import java.util.HashMap;
import java.util.Map;
import org.apache.hadoop.io.WritableComparable;
@@ -355,6 +356,9 @@
return result;
}
+ /* (non-Javadoc)
+ * @see org.apache.mahout.matrix.Vector#get(java.lang.String)
+ */
@Override
public double get(String label) throws IndexException, UnboundLabelException
{
if (bindings == null)
@@ -365,11 +369,17 @@
return get(index);
}
+ /* (non-Javadoc)
+ * @see org.apache.mahout.matrix.Vector#getLabelBindings()
+ */
@Override
public Map<String, Integer> getLabelBindings() {
return bindings;
}
+ /* (non-Javadoc)
+ * @see org.apache.mahout.matrix.Vector#set(java.lang.String, double)
+ */
@Override
public void set(String label, double value) throws IndexException,
UnboundLabelException {
@@ -381,9 +391,23 @@
set(index, value);
}
+ /* (non-Javadoc)
+ * @see org.apache.mahout.matrix.Vector#setLabelBindings(java.util.Map)
+ */
@Override
public void setLabelBindings(Map<String, Integer> bindings) {
this.bindings = bindings;
}
+ /* (non-Javadoc)
+ * @see org.apache.mahout.matrix.Vector#set(java.lang.String, int, double)
+ */
+ @Override
+ public void set(String label, int index, double value) throws IndexException
{
+ if (bindings == null)
+ bindings = new HashMap<String, Integer>();
+ bindings.put(label, index);
+ set(index, value);
+ }
+
}
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/Vector.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/Vector.java?rev=785221&r1=785220&r2=785221&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/Vector.java
(original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/Vector.java
Tue Jun 16 14:06:51 2009
@@ -290,6 +290,16 @@
*/
void set(String label, double value) throws IndexException,
UnboundLabelException;
+
+ /**
+ * Set the value at the index and add the label to the bindings
+ *
+ * @param label a String label that maps to an index
+ * @param index an int index
+ * @param value a double value
+ * @throws IndexException
+ */
+ void set(String label, int index, double value) throws IndexException;
/**
* Sets a map of label bindings in the receiver
Modified:
lucene/mahout/trunk/core/src/test/java/org/apache/mahout/matrix/VectorTest.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/test/java/org/apache/mahout/matrix/VectorTest.java?rev=785221&r1=785220&r2=785221&view=diff
==============================================================================
---
lucene/mahout/trunk/core/src/test/java/org/apache/mahout/matrix/VectorTest.java
(original)
+++
lucene/mahout/trunk/core/src/test/java/org/apache/mahout/matrix/VectorTest.java
Tue Jun 16 14:06:51 2009
@@ -359,4 +359,14 @@
}
}
+ public void testLabelSet() {
+ Vector test = new DenseVector(3);
+ test.set("Fee", 0, 1.1);
+ test.set("Fie", 1, 2.2);
+ test.set("Foe", 2, 3.3);
+ assertEquals("Fee", 1.1, test.get("Fee"));
+ assertEquals("Fie", 2.2, test.get("Fie"));
+ assertEquals("Foe", 3.3, test.get("Foe"));
+ }
+
}