Author: luc
Date: Wed May 11 06:57:47 2011
New Revision: 1101763

URL: http://svn.apache.org/viewvc?rev=1101763&view=rev
Log:
Avoid some remaining array copying in ArrayFieldVector, AbstractFieldMAtrix and 
AbstractRealMatrix.
JIRA: MATH-573

Modified:
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractRealMatrix.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayFieldVector.java

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java?rev=1101763&r1=1101762&r2=1101763&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java
 Wed May 11 06:57:47 2011
@@ -764,7 +764,7 @@ public abstract class AbstractFieldMatri
                 out[col] = sum;
             }
 
-            return new ArrayFieldVector<T>(out);
+            return new ArrayFieldVector<T>(out, false);
         }
     }
 

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractRealMatrix.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractRealMatrix.java?rev=1101763&r1=1101762&r2=1101763&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractRealMatrix.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractRealMatrix.java
 Wed May 11 06:57:47 2011
@@ -693,7 +693,7 @@ public abstract class AbstractRealMatrix
                 out[col] = sum;
             }
 
-            return new ArrayRealVector(out);
+            return new ArrayRealVector(out, false);
         }
     }
 

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayFieldVector.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayFieldVector.java?rev=1101763&r1=1101762&r2=1101763&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayFieldVector.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ArrayFieldVector.java
 Wed May 11 06:57:47 2011
@@ -447,7 +447,7 @@ public class ArrayFieldVector<T extends 
         for (int i = 0; i < data.length; i++) {
             out[i] = data[i].add(d);
         }
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /** {@inheritDoc} */
@@ -464,7 +464,7 @@ public class ArrayFieldVector<T extends 
         for (int i = 0; i < data.length; i++) {
             out[i] = data[i].subtract(d);
         }
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /** {@inheritDoc} */
@@ -481,7 +481,7 @@ public class ArrayFieldVector<T extends 
         for (int i = 0; i < data.length; i++) {
             out[i] = data[i].multiply(d);
         }
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /** {@inheritDoc} */
@@ -498,7 +498,7 @@ public class ArrayFieldVector<T extends 
         for (int i = 0; i < data.length; i++) {
             out[i] = data[i].divide(d);
         }
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /** {@inheritDoc} */
@@ -516,7 +516,7 @@ public class ArrayFieldVector<T extends 
         for (int i = 0; i < data.length; i++) {
             out[i] = one.divide(data[i]);
         }
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /** {@inheritDoc} */
@@ -538,7 +538,7 @@ public class ArrayFieldVector<T extends 
             for (int i = 0; i < data.length; i++) {
                 out[i] = data[i].multiply(v.getEntry(i));
             }
-            return new ArrayFieldVector<T>(out);
+            return new ArrayFieldVector<T>(field, out, false);
         }
     }
 
@@ -549,7 +549,7 @@ public class ArrayFieldVector<T extends 
         for (int i = 0; i < data.length; i++) {
             out[i] = data[i].multiply(v[i]);
         }
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /**
@@ -572,7 +572,7 @@ public class ArrayFieldVector<T extends 
             for (int i = 0; i < data.length; i++) {
                 out[i] = data[i].divide(v.getEntry(i));
             }
-            return new ArrayFieldVector<T>(out);
+            return new ArrayFieldVector<T>(field, out, false);
         }
     }
 
@@ -583,7 +583,7 @@ public class ArrayFieldVector<T extends 
         for (int i = 0; i < data.length; i++) {
                 out[i] = data[i].divide(v[i]);
         }
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /**
@@ -736,7 +736,7 @@ public class ArrayFieldVector<T extends 
         final T[] out = buildArray(data.length + 1);
         System.arraycopy(data, 0, out, 0, data.length);
         out[data.length] = in;
-        return new ArrayFieldVector<T>(out);
+        return new ArrayFieldVector<T>(field, out, false);
     }
 
     /** {@inheritDoc} */


Reply via email to