You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by je...@apache.org on 2012/06/06 19:24:48 UTC

svn commit: r1346993 - /mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/CosineDistanceMeasure.java

Author: jeastman
Date: Wed Jun  6 17:24:47 2012
New Revision: 1346993

URL: http://svn.apache.org/viewvc?rev=1346993&view=rev
Log:
MAHOUT-1028: 
- Added zero vector corner case detection to 2 other CosineDistanceMeasure
- All tests run

Modified:
    mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/CosineDistanceMeasure.java

Modified: mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/CosineDistanceMeasure.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/CosineDistanceMeasure.java?rev=1346993&r1=1346992&r2=1346993&view=diff
==============================================================================
--- mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/CosineDistanceMeasure.java (original)
+++ mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/CosineDistanceMeasure.java Wed Jun  6 17:24:47 2012
@@ -62,6 +62,11 @@ public class CosineDistanceMeasure imple
       denominator = dotProduct;
     }
     
+    // correct for zero-vector corner case
+    if (denominator == 0 && dotProduct == 0) {
+      return 1;
+    }
+    
     return 1.0 - dotProduct / denominator;
   }
   
@@ -102,6 +107,11 @@ public class CosineDistanceMeasure imple
       denominator = dotProduct;
     }
     
+    // correct for zero-vector corner case
+    if (denominator == 0 && dotProduct == 0) {
+      return 1;
+    }
+    
     return 1.0 - dotProduct / denominator;
   }