Author: jmannix
Date: Thu Jan 28 06:23:34 2010
New Revision: 903967

URL: http://svn.apache.org/viewvc?rev=903967&view=rev
Log:
size() checking in getDistanceSquared, and take it out of the DistanceMeasure, 
which is now much cleaner.

Modified:
    
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java
    
lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java

Modified: 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java
URL: 
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java?rev=903967&r1=903966&r2=903967&view=diff
==============================================================================
--- 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java
 (original)
+++ 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java
 Thu Jan 28 06:23:34 2010
@@ -49,18 +49,11 @@
 
   @Override
   public double distance(Vector v1, Vector v2) {
-    if (v1.size() != v2.size()) {
-      throw new CardinalityException();
-    }
-    Vector vector = v1.minus(v2);
-    return vector.dot(vector);
+    return v1.getDistanceSquared(v2);
   }
 
   @Override
   public double distance(double centroidLengthSquare, Vector centroid, Vector 
v) {
-    if (centroid.size() != v.size()) {
-      throw new CardinalityException();
-    }
-    return centroidLengthSquare + v.getLengthSquared() - 2 * v.dot(centroid);
+    return centroidLengthSquare - 2 * v.dot(centroid) + v.getLengthSquared();
   }
 }

Modified: 
lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
URL: 
http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java?rev=903967&r1=903966&r2=903967&view=diff
==============================================================================
--- 
lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
 (original)
+++ 
lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
 Thu Jan 28 06:23:34 2010
@@ -219,6 +219,9 @@
 
   @Override
   public double getDistanceSquared(Vector v) {
+    if(v.size() != size()) {
+      throw new CardinalityException();
+    }
     // if this and v has a cached lengthSquared, dot product is quickest way 
to compute this.
     if(lengthSquared >= 0 && v instanceof AbstractVector && 
((AbstractVector)v).lengthSquared >= 0) {
       return lengthSquared + v.getLengthSquared() - 2 * this.dot(v);


Reply via email to