Author: erans
Date: Mon Jul 19 14:51:24 2010
New Revision: 965509

URL: http://svn.apache.org/viewvc?rev=965509&view=rev
Log:
MATH-387: Allow "null" array arguments in "RealPointValuePair" and
"VectorialPointValuePair" constructors.

Modified:
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/RealPointValuePair.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleScalarValueChecker.java
    
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialPointValuePair.java

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/RealPointValuePair.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/RealPointValuePair.java?rev=965509&r1=965508&r2=965509&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/RealPointValuePair.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/RealPointValuePair.java
 Mon Jul 19 14:51:24 2010
@@ -29,7 +29,6 @@ import java.io.Serializable;
  * @since 2.0
  */
 public class RealPointValuePair implements Serializable {
-
     /** Serializable version identifier. */
     private static final long serialVersionUID = 1003888396256744753L;
 
@@ -45,7 +44,7 @@ public class RealPointValuePair implemen
      * @param value value of an objective function at the point
      */
     public RealPointValuePair(final double[] point, final double value) {
-        this.point = point.clone();
+        this.point = (point == null ? null : point.clone());
         this.value  = value;
     }
 
@@ -57,8 +56,10 @@ public class RealPointValuePair implemen
      * it will be referenced
      */
     public RealPointValuePair(final double[] point, final double value,
-                                final boolean copyArray) {
-        this.point = copyArray ? point.clone() : point;
+                              final boolean copyArray) {
+        this.point = (copyArray ?
+                      (point == null ? null : point.clone()) :
+                      point);
         this.value  = value;
     }
 
@@ -66,7 +67,7 @@ public class RealPointValuePair implemen
      * @return a copy of the stored point
      */
     public double[] getPoint() {
-        return point.clone();
+        return (point == null ? null : point.clone());
     }
 
     /** Get a reference to the point.
@@ -84,5 +85,4 @@ public class RealPointValuePair implemen
     public double getValue() {
         return value;
     }
-
 }

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleScalarValueChecker.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleScalarValueChecker.java?rev=965509&r1=965508&r2=965509&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleScalarValueChecker.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleScalarValueChecker.java
 Mon Jul 19 14:51:24 2010
@@ -62,7 +62,7 @@ public class SimpleScalarValueChecker im
      * @param absoluteThreshold absolute tolerance threshold
      */
     public SimpleScalarValueChecker(final double relativeThreshold,
-                                 final double absoluteThreshold) {
+                                    final double absoluteThreshold) {
         this.relativeThreshold = relativeThreshold;
         this.absoluteThreshold = absoluteThreshold;
     }
@@ -77,5 +77,4 @@ public class SimpleScalarValueChecker im
         final double size       = Math.max(Math.abs(p), Math.abs(c));
         return (difference <= (size * relativeThreshold)) || (difference <= 
absoluteThreshold);
     }
-
 }

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialPointValuePair.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialPointValuePair.java?rev=965509&r1=965508&r2=965509&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialPointValuePair.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialPointValuePair.java
 Mon Jul 19 14:51:24 2010
@@ -44,8 +44,8 @@ public class VectorialPointValuePair imp
      * @param value value of an objective function at the point
      */
     public VectorialPointValuePair(final double[] point, final double[] value) 
{
-        this.point = point.clone();
-        this.value = value.clone();
+        this.point = (point == null ? null : point.clone());
+        this.value = (value == null ? null : value.clone());
     }
 
     /** Build a point/objective function value pair.
@@ -57,15 +57,19 @@ public class VectorialPointValuePair imp
      */
     public VectorialPointValuePair(final double[] point, final double[] value,
                                    final boolean copyArray) {
-        this.point = copyArray ? point.clone() : point;
-        this.value = copyArray ? value.clone() : value;
+        this.point = (copyArray ?
+                      (point == null ? null : point.clone()) :
+                      point);
+        this.value = (copyArray ?
+                      (value == null ? null : value.clone()) :
+                      value);
     }
 
     /** Get the point.
      * @return a copy of the stored point
      */
     public double[] getPoint() {
-        return point.clone();
+        return (point == null ? null : point.clone());
     }
 
     /** Get a reference to the point.
@@ -81,7 +85,7 @@ public class VectorialPointValuePair imp
      * @return a copy of the stored value of the objective function
      */
     public double[] getValue() {
-        return value.clone();
+        return (value == null ? null : value.clone());
     }
 
     /** Get a reference to the value of the objective function.


Reply via email to