Author: gsingers
Date: Sun Apr 20 08:18:52 2008
New Revision: 649933

URL: http://svn.apache.org/viewvc?rev=649933&view=rev
Log:
MAHOUT-44: Override zSum and dot in SparseVector

Modified:
    lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java

Modified: 
lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java
URL: 
http://svn.apache.org/viewvc/lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java?rev=649933&r1=649932&r2=649933&view=diff
==============================================================================
--- 
lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java 
(original)
+++ 
lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java 
Sun Apr 20 08:18:52 2008
@@ -160,4 +160,27 @@
     public Element next() { return new Element(it.next().getKey()); }
     public void remove() { throw new UnsupportedOperationException(); }
   }
+  
+  @Override
+  public double zSum() {
+         java.util.Iterator<Double> iter = values.values().iterator(); 
+         double result = 0;
+         while (iter.hasNext())
+                 result += iter.next();
+         return result;
+  }
+
+  @Override
+  public double dot(Vector x) throws CardinalityException {
+         if (cardinality() != x.cardinality())
+                 throw new CardinalityException();
+         java.util.Iterator<Integer> iter = values.keySet().iterator(); 
+         double result = 0;
+         while (iter.hasNext()){
+                 int nextIndex = iter.next();
+                 result += getQuick(nextIndex) * x.getQuick(nextIndex);
+         }
+         return result;
+  }
+  
 }


Reply via email to