Author: billbarker
Date: Sat May 23 22:57:26 2009
New Revision: 778058
URL: http://svn.apache.org/viewvc?rev=778058&view=rev
Log:
Serializable changes for RealVector
Modified:
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/OpenMapRealVector.java
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/RealVector.java
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/RealVectorImplTest.java
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/SparseRealVectorTest.java
Modified:
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/OpenMapRealVector.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/linear/OpenMapRealVector.java?rev=778058&r1=778057&r2=778058&view=diff
==============================================================================
---
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/OpenMapRealVector.java
(original)
+++
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/OpenMapRealVector.java
Sat May 23 22:57:26 2009
@@ -16,6 +16,8 @@
*/
package org.apache.commons.math.linear;
+import java.io.Serializable;
+
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.util.OpenIntToDoubleHashMap;
import org.apache.commons.math.util.OpenIntToDoubleHashMap.Iterator;
@@ -25,7 +27,7 @@
* @version $Revision: 728186 $ $Date$
* @since 2.0
*/
-public class OpenMapRealVector implements SparseRealVector {
+public class OpenMapRealVector implements SparseRealVector, Serializable {
/** Serializable version identifier. */
private static final long serialVersionUID = 8772222695580707260L;
Modified:
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/RealVector.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/linear/RealVector.java?rev=778058&r1=778057&r2=778058&view=diff
==============================================================================
---
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/RealVector.java
(original)
+++
commons/proper/math/trunk/src/java/org/apache/commons/math/linear/RealVector.java
Sat May 23 22:57:26 2009
@@ -16,8 +16,6 @@
*/
package org.apache.commons.math.linear;
-import java.io.Serializable;
-
/**
* Interface defining a real-valued vector with basic algebraic operations.
* <p>
@@ -41,7 +39,7 @@
* @version $Revision$ $Date$
* @since 2.0
*/
-public interface RealVector extends Serializable {
+public interface RealVector {
/**
* Returns a (deep) copy of this.
Modified:
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/RealVectorImplTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/linear/RealVectorImplTest.java?rev=778058&r1=778057&r2=778058&view=diff
==============================================================================
---
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/RealVectorImplTest.java
(original)
+++
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/RealVectorImplTest.java
Sat May 23 22:57:26 2009
@@ -16,6 +16,12 @@
*/
package org.apache.commons.math.linear;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.io.Serializable;
import junit.framework.Test;
import junit.framework.TestCase;
@@ -1169,6 +1175,27 @@
}
+ public void testSerial() {
+ try {
+ File test = File.createTempFile("RVI",".ser");
+ ObjectOutputStream out = new ObjectOutputStream(new
FileOutputStream(test));
+ RealVectorImpl v = new RealVectorImpl(new double[] { 0, 1, 2 });
+ out.writeObject(v);
+ out.close();
+ ObjectInputStream in = new ObjectInputStream(new
FileInputStream(test));
+ RealVectorImpl nv = (RealVectorImpl)in.readObject();
+ in.close();
+ test.delete();
+ assertEquals(v,nv);
+
+ } catch (IOException e) {
+ fail("IOException: "+e);
+ } catch (ClassNotFoundException e) {
+ fail("Can't happen: "+e);
+ }
+ }
+
+
/** verifies that two vectors are close (sup norm) */
protected void assertClose(String msg, double[] m, double[] n,
double tolerance) {
Modified:
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/SparseRealVectorTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/linear/SparseRealVectorTest.java?rev=778058&r1=778057&r2=778058&view=diff
==============================================================================
---
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/SparseRealVectorTest.java
(original)
+++
commons/proper/math/trunk/src/test/org/apache/commons/math/linear/SparseRealVectorTest.java
Sat May 23 22:57:26 2009
@@ -16,6 +16,12 @@
*/
package org.apache.commons.math.linear;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.io.Serializable;
import junit.framework.Test;
import junit.framework.TestCase;
@@ -1093,6 +1099,26 @@
}
+ public void testSerial() {
+ try {
+ File test = File.createTempFile("OMV",".ser");
+ ObjectOutputStream out = new ObjectOutputStream(new
FileOutputStream(test));
+ OpenMapRealVector v = new OpenMapRealVector(new double[] { 0, 1, 2
});
+ out.writeObject(v);
+ out.close();
+ ObjectInputStream in = new ObjectInputStream(new
FileInputStream(test));
+ OpenMapRealVector nv = (OpenMapRealVector)in.readObject();
+ in.close();
+ test.delete();
+ assertEquals(v,nv);
+
+ } catch (IOException e) {
+ fail("IOException: "+e);
+ } catch (ClassNotFoundException e) {
+ fail("Can't happen: "+e);
+ }
+ }
+
/** verifies that two vectors are close (sup norm) */
protected void assertClose(String msg, double[] m, double[] n,
double tolerance) {