You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by gs...@apache.org on 2008/04/20 17:18:56 UTC

svn commit: r649933 - /lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java

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;
+  }
+  
 }