Author: billbarker
Date: Sun Jun 21 01:12:22 2009
New Revision: 786936

URL: http://svn.apache.org/viewvc?rev=786936&view=rev
Log:
Restore Serializable to PolynomialFunction

Modified:
    
commons/proper/math/trunk/src/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java
    
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/SinFunction.java
    
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/polynomials/PolynomialFunctionTest.java

Modified: 
commons/proper/math/trunk/src/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java?rev=786936&r1=786935&r2=786936&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java
 (original)
+++ 
commons/proper/math/trunk/src/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java
 Sun Jun 21 01:12:22 2009
@@ -16,6 +16,9 @@
  */
 package org.apache.commons.math.analysis.polynomials;
 
+import java.io.Serializable;
+import java.util.Arrays;
+
 import org.apache.commons.math.MathRuntimeException;
 import org.apache.commons.math.analysis.DifferentiableUnivariateRealFunction;
 import org.apache.commons.math.analysis.UnivariateRealFunction;
@@ -28,9 +31,14 @@
  *
  * @version $Revision$ $Date$
  */
-public class PolynomialFunction implements 
DifferentiableUnivariateRealFunction {
+public class PolynomialFunction implements 
DifferentiableUnivariateRealFunction, Serializable {
 
     /**
+     * Serializtion identifier
+     */
+    private static final long serialVersionUID = -7726511984200295583L;
+    
+    /**
      * The coefficients of the polynomial, ordered by degree -- i.e.,  
      * coefficients[0] is the constant term and coefficients[n] is the 
      * coefficient of x^n where n is the degree of the polynomial.
@@ -315,4 +323,28 @@
 
      }
 
+    /** {...@inheritdoc} */
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + Arrays.hashCode(coefficients);
+        return result;
+    }
+
+    /** {...@inheritdoc} */
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (!(obj instanceof PolynomialFunction))
+            return false;
+        PolynomialFunction other = (PolynomialFunction) obj;
+        if (!Arrays.equals(coefficients, other.coefficients))
+            return false;
+        return true;
+    }
+
 }

Modified: 
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/SinFunction.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/SinFunction.java?rev=786936&r1=786935&r2=786936&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/SinFunction.java
 (original)
+++ 
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/SinFunction.java
 Sun Jun 21 01:12:22 2009
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.math.analysis;
 
-import java.io.Serializable;
-
 import org.apache.commons.math.FunctionEvaluationException;
 
 /**

Modified: 
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/polynomials/PolynomialFunctionTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/polynomials/PolynomialFunctionTest.java?rev=786936&r1=786935&r2=786936&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/polynomials/PolynomialFunctionTest.java
 (original)
+++ 
commons/proper/math/trunk/src/test/org/apache/commons/math/analysis/polynomials/PolynomialFunctionTest.java
 Sun Jun 21 01:12:22 2009
@@ -18,7 +18,7 @@
 
 // commons-math
 import org.apache.commons.math.MathException;
-
+import org.apache.commons.math.TestUtils;
 // junit
 import junit.framework.TestCase;
 
@@ -226,6 +226,11 @@
 
     }
 
+    public void testSerial() {
+        PolynomialFunction p2 = new PolynomialFunction(new double[] { 3.0, 
2.0, 1.0 });
+        assertEquals(p2, TestUtils.serializeAndRecover(p2));
+    }
+    
     public void checkPolynomial(PolynomialFunction p, String reference) {
         assertEquals(reference, p.toString());
     }


Reply via email to