Author: erans
Date: Wed Jul 20 22:09:17 2011
New Revision: 1148952

URL: http://svn.apache.org/viewvc?rev=1148952&view=rev
Log:
MATH-623
Slightly faster "add" method (due to Arne Plöse).

Modified:
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayRealVector.java

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayRealVector.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayRealVector.java?rev=1148952&r1=1148951&r2=1148952&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayRealVector.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayRealVector.java
 Wed Jul 20 22:09:17 2011
@@ -304,12 +304,14 @@ public class ArrayRealVector extends Abs
     /** {@inheritDoc} */
     @Override
     public RealVector add(double[] v) {
-        checkVectorDimensions(v.length);
-        double[] out = data.clone();
-        for (int i = 0; i < data.length; i++) {
-            out[i] += v[i];
+        final int dim = v.length;
+        checkVectorDimensions(dim);
+        ArrayRealVector result = new ArrayRealVector(dim);
+        double[] resultData = result.data;
+        for (int i = 0; i < dim; i++) {
+            resultData[i] = data[i] + v[i];
         }
-        return new ArrayRealVector(out, false);
+        return result;
     }
 
     /**


Reply via email to