You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sr...@apache.org on 2010/04/02 21:25:39 UTC

svn commit: r930355 - /lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java

Author: srowen
Date: Fri Apr  2 19:25:38 2010
New Revision: 930355

URL: http://svn.apache.org/viewvc?rev=930355&view=rev
Log:
Some hopefully innocuous optimizations that could help recommender job

Modified:
    lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java

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=930355&r1=930354&r2=930355&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 Fri Apr  2 19:25:38 2010
@@ -110,6 +110,9 @@ public abstract class AbstractVector imp
   }
 
   public Vector divide(double x) {
+    if (x == 1.0) {
+      return clone();
+    }
     Vector result = clone();
     Iterator<Element> iter = result.iterateNonZero();
     while (iter.hasNext()) {
@@ -314,6 +317,9 @@ public abstract class AbstractVector imp
   }
 
   public Vector plus(double x) {
+    if (x == 0.0) {
+      return clone();
+    }
     Vector result = clone();
     int size = result.size();
     for (int i = 0; i < size; i++) {
@@ -355,6 +361,12 @@ public abstract class AbstractVector imp
   }
 
   public Vector times(double x) {
+    if (x == 1.0) {
+      return clone();
+    }
+    if (x == 0.0) {
+      return like();
+    }
     Vector result = clone();
     Iterator<Element> iter = result.iterateNonZero();
     while (iter.hasNext()) {