You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ps...@apache.org on 2006/12/19 23:11:11 UTC

svn commit: r488828 [3/6] - in /jakarta/commons/proper/math/trunk/src/mantissa: src/org/spaceroots/mantissa/ src/org/spaceroots/mantissa/algebra/ src/org/spaceroots/mantissa/fitting/ src/org/spaceroots/mantissa/functions/scalar/ src/org/spaceroots/mant...

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/DummyStepInterpolator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/DummyStepInterpolator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/DummyStepInterpolator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/DummyStepInterpolator.java Tue Dec 19 14:11:07 2006
@@ -49,7 +49,7 @@
    * to create the step interpolators by cloning an uninitialized
    * model and latter initializing the copy.
    */
-  protected DummyStepInterpolator() {
+  public DummyStepInterpolator() {
     super();
   }
 
@@ -81,15 +81,6 @@
    */
   protected DummyStepInterpolator(DummyStepInterpolator interpolator) {
     super(interpolator);
-  }
-
-  /** Copy the instance.
-   * the copy is a deep copy: its arrays are separated from the
-   * original arrays of the instance
-   * @return a copy of the instance.
-   */
-  public Object clone() {
-    return new DummyStepInterpolator(this);
   }
 
   /** Compute the state at the interpolated time.

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/EulerIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/EulerIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/EulerIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/EulerIntegrator.java Tue Dec 19 14:11:07 2006
@@ -50,7 +50,7 @@
 public class EulerIntegrator
   extends RungeKuttaIntegrator {
 
-  private static final String methodName = new String("Euler");
+  private static final String methodName = "Euler";
 
   private static final double[] c = {
   };

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GillIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GillIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GillIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GillIntegrator.java Tue Dec 19 14:11:07 2006
@@ -46,7 +46,7 @@
 public class GillIntegrator
   extends RungeKuttaIntegrator {
 
-  private static final String methodName = new String("Gill");
+  private static final String methodName = "Gill";
 
   private static final double sqrt2 = Math.sqrt(2.0);
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GraggBulirschStoerIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GraggBulirschStoerIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GraggBulirschStoerIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/GraggBulirschStoerIntegrator.java Tue Dec 19 14:11:07 2006
@@ -88,7 +88,7 @@
 public class GraggBulirschStoerIntegrator
   extends AdaptiveStepsizeIntegrator {
 
-  private static final String methodName = new String("Gragg-Bulirsch-Stoer");
+  private static final String methodName = "Gragg-Bulirsch-Stoer";
 
   /** Simple constructor.
    * Build a Gragg-Bulirsch-Stoer integrator with the given step
@@ -713,7 +713,7 @@
                     // estimate if there is a chance convergence will
                     // be reached on next iteration, using the
                     // asymptotic evolution of error
-                    double ratio = sequence [k] * sequence[k+1]
+                    double ratio = ((double) sequence [k] * sequence[k+1])
                                  / (sequence[0] * sequence[0]);
                     if (error > ratio * ratio) {
                       // we don't expect to converge on next iteration
@@ -740,7 +740,7 @@
                   // estimate if there is a chance convergence will
                   // be reached on next iteration, using the
                   // asymptotic evolution of error
-                  double ratio = sequence[k+1] / sequence[0];
+                  double ratio = ((double) sequence[k+1]) / sequence[0];
                   if (error > ratio * ratio) {
                     // we don't expect to converge on next iteration
                     // we reject the step immediately

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/HighamHall54Integrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/HighamHall54Integrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/HighamHall54Integrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/HighamHall54Integrator.java Tue Dec 19 14:11:07 2006
@@ -35,7 +35,7 @@
 public class HighamHall54Integrator
   extends RungeKuttaFehlbergIntegrator {
 
-  private static final String methodName = new String("Higham-Hall 5(4)");
+  private static final String methodName = "Higham-Hall 5(4)";
 
   private static final double[] c = {
     2.0/9.0, 1.0/3.0, 1.0/2.0, 3.0/5.0, 1.0, 1.0

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/MidpointIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/MidpointIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/MidpointIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/MidpointIntegrator.java Tue Dec 19 14:11:07 2006
@@ -43,7 +43,7 @@
 public class MidpointIntegrator
   extends RungeKuttaIntegrator {
 
-  private static final String methodName = new String("midpoint");
+  private static final String methodName = "midpoint";
 
   private static final double[] c = {
     1.0 / 2.0

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/StepNormalizer.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/StepNormalizer.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/StepNormalizer.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/StepNormalizer.java Tue Dec 19 14:11:07 2006
@@ -104,8 +104,7 @@
       interpolator.setInterpolatedTime(lastTime);
 
       double[] state = interpolator.getInterpolatedState();
-      lastState = new double[state.length];
-      System.arraycopy(state, 0, lastState, 0, lastState.length);
+      lastState = (double[]) state.clone();
 
       // take the integration direction into account
       forward = (interpolator.getCurrentTime() >= lastTime);

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchState.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchState.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchState.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchState.java Tue Dec 19 14:11:07 2006
@@ -42,6 +42,8 @@
 class SwitchState
   implements ComputableFunction, ConvergenceChecker {
 
+  private static final long serialVersionUID = 6944466361876662425L;
+
   /** Switching function. */
   private SwitchingFunction function;
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchingFunction.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchingFunction.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchingFunction.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/SwitchingFunction.java Tue Dec 19 14:11:07 2006
@@ -17,6 +17,8 @@
 
 package org.spaceroots.mantissa.ode;
 
+import java.io.Serializable;
+
 /** This interface represents a switching function.
  *
  * <p>A switching function allows to handle discrete events in
@@ -45,7 +47,7 @@
  *
  */
 
-public interface SwitchingFunction {
+public interface SwitchingFunction extends Serializable {
 
   /** Stop indicator.
    * <p>This value should be used as the return value of the {@link

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/ThreeEighthesIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/ThreeEighthesIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/ThreeEighthesIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/ode/ThreeEighthesIntegrator.java Tue Dec 19 14:11:07 2006
@@ -46,7 +46,7 @@
 public class ThreeEighthesIntegrator
   extends RungeKuttaIntegrator {
 
-  private static final String methodName = new String("3/8");
+  private static final String methodName = "3/8";
 
   private static final double[] c = {
     1.0 / 3.0, 2.0 / 3.0, 1.0

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/DirectSearchOptimizer.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/DirectSearchOptimizer.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/DirectSearchOptimizer.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/DirectSearchOptimizer.java Tue Dec 19 14:11:07 2006
@@ -243,7 +243,7 @@
     }
 
     RandomVectorGenerator rvg =
-      new CorrelatedRandomVectorGenerator(statistics.getMean(null),
+      new CorrelatedRandomVectorGenerator(statistics.getMean(),
                                           statistics.getCovarianceMatrix(null),
                                           new UniformRandomGenerator(seed));
     setMultiStart(starts, rvg);
@@ -344,7 +344,7 @@
       if (i < n) {
         System.arraycopy(vertexA, i, vertex, i, n - i);
       }
-      simplex[i] = new PointCostPair(vertex);
+      simplex[i] = new PointCostPair(vertex, Double.NaN);
     }
 
   }
@@ -356,7 +356,7 @@
     int n = vertices.length - 1;
     simplex = new PointCostPair[n + 1];
     for (int i = 0; i <= n; ++i) {
-      simplex[i] = new PointCostPair(vertices[i]);
+      simplex[i] = new PointCostPair(vertices[i], Double.NaN);
     }
   }
 
@@ -369,11 +369,11 @@
     double[] vertex = generator.nextVector();
     int n = vertex.length;
     simplex = new PointCostPair[n + 1];
-    simplex[0] = new PointCostPair(vertex);
+    simplex[0] = new PointCostPair(vertex, Double.NaN);
 
     // fill up the vertex
     for (int i = 1; i <= n; ++i) {
-      simplex[i] = new PointCostPair(generator.nextVector());
+      simplex[i] = new PointCostPair(generator.nextVector(), Double.NaN);
     }
 
   }
@@ -428,7 +428,7 @@
    * minimizes} has not been called
    */
   public PointCostPair[] getMinima() {
-    return minima;
+    return (PointCostPair[]) minima.clone();
   }
 
   /** Minimizes a cost function.
@@ -522,8 +522,8 @@
     // evaluate the cost at all non-evaluated simplex points
     for (int i = 0; i < simplex.length; ++i) {
       PointCostPair pair = simplex[i];
-      if (! pair.isEvaluated()) {
-        pair.setCost(evaluateCost(pair.getPoint()));
+      if (Double.isNaN(pair.cost)) {
+        simplex[i] = new PointCostPair(pair.point, evaluateCost(pair.point));
       }
     }
 
@@ -538,7 +538,7 @@
   protected void replaceWorstPoint(PointCostPair pointCostPair) {
     int n = simplex.length - 1;
     for (int i = 0; i < n; ++i) {
-      if (simplex[i].getCost() > pointCostPair.getCost()) {
+      if (simplex[i].cost > pointCostPair.cost) {
         PointCostPair tmp = simplex[i];
         simplex[i]        = pointCostPair;
         pointCostPair     = tmp;
@@ -555,8 +555,8 @@
         } else if (o2 == null) {
           return -1;
         } else {
-          double cost1 = ((PointCostPair) o1).getCost();
-          double cost2 = ((PointCostPair) o2).getCost();
+          double cost1 = ((PointCostPair) o1).cost;
+          double cost2 = ((PointCostPair) o2).cost;
           return (cost1 < cost2) ? -1 : ((o1 == o2) ? 0 : +1);
         }
       }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/MultiDirectional.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/MultiDirectional.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/MultiDirectional.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/MultiDirectional.java Tue Dec 19 14:11:07 2006
@@ -54,7 +54,7 @@
 
       // save the original vertex
       PointCostPair[] original = simplex;
-      double originalCost = original[0].getCost();
+      double originalCost = original[0].cost;
 
       // perform a reflection step
       double reflectedCost = evaluateNewSimplex(original, 1.0);
@@ -93,24 +93,24 @@
   private double evaluateNewSimplex(PointCostPair[] original, double coeff)
     throws CostException {
 
-    double[] xSmallest = original[0].getPoint();
+    double[] xSmallest = original[0].point;
     int n = xSmallest.length;
 
     // create the linearly transformed simplex
     simplex = new PointCostPair[n + 1];
     simplex[0] = original[0];
     for (int i = 1; i <= n; ++i) {
-      double[] xOriginal    = original[i].getPoint();
+      double[] xOriginal    = original[i].point;
       double[] xTransformed = new double[n];
       for (int j = 0; j < n; ++j) {
         xTransformed[j] = xSmallest[j] + coeff * (xSmallest[j] - xOriginal[j]);
       }
-      simplex[i] = new PointCostPair(xTransformed);
+      simplex[i] = new PointCostPair(xTransformed, Double.NaN);
     }
 
     // evaluate it
     evaluateSimplex();
-    return simplex[0].getCost();
+    return simplex[0].cost;
 
   }
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/NelderMead.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/NelderMead.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/NelderMead.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/NelderMead.java Tue Dec 19 14:11:07 2006
@@ -61,16 +61,16 @@
     int n = simplex.length - 1;
 
     // interesting costs
-    double   smallest      = simplex[0].getCost();
-    double   secondLargest = simplex[n-1].getCost();
-    double   largest       = simplex[n].getCost();
-    double[] xLargest      = simplex[n].getPoint();
+    double   smallest      = simplex[0].cost;
+    double   secondLargest = simplex[n-1].cost;
+    double   largest       = simplex[n].cost;
+    double[] xLargest      = simplex[n].point;
 
     // compute the centroid of the best vertices
     // (dismissing the worst point at index n)
     double[] centroid = new double[n];
     for (int i = 0; i < n; ++i) {
-      double[] x = simplex[i].getPoint();
+      double[] x = simplex[i].point;
       for (int j = 0; j < n; ++j) {
         centroid[j] += x[j];
       }
@@ -90,9 +90,7 @@
     if ((smallest <= costR) && (costR < secondLargest)) {
 
       // accept the reflected point
-      PointCostPair r = new PointCostPair(xR);
-      r.setCost(costR);
-      replaceWorstPoint(r);
+      replaceWorstPoint(new PointCostPair(xR, costR));
 
     } else if (costR < smallest) {
 
@@ -105,14 +103,10 @@
 
       if (costE < costR) {
         // accept the expansion point
-        PointCostPair e = new PointCostPair(xE);
-        e.setCost(costE);
-        replaceWorstPoint(e);
+        replaceWorstPoint(new PointCostPair(xE, costE));
       } else {
         // accept the reflected point
-        PointCostPair r = new PointCostPair(xR);
-        r.setCost(costR);
-        replaceWorstPoint(r);
+        replaceWorstPoint(new PointCostPair(xR, costR));
       }
 
     } else {
@@ -128,9 +122,7 @@
 
         if (costC <= costR) {
           // accept the contraction point
-          PointCostPair c = new PointCostPair(xC);
-          c.setCost(costC);
-          replaceWorstPoint(c);
+          replaceWorstPoint(new PointCostPair(xC, costC));
           return;
         }
 
@@ -145,23 +137,20 @@
 
         if (costC < largest) {
           // accept the contraction point
-          PointCostPair c = new PointCostPair(xC);
-          c.setCost(costC);
-          replaceWorstPoint(c);
+          replaceWorstPoint(new PointCostPair(xC, costC));
           return;
         }
 
       }
 
       // perform a shrink
-      double[] xSmallest = simplex[0].getPoint();
+      double[] xSmallest = simplex[0].point;
       for (int i = 1; i < simplex.length; ++i) {
-        PointCostPair pair = simplex[i];
-        double[] x = pair.getPoint();
+        double[] x = simplex[i].point;
         for (int j = 0; j < n; ++j) {
           x[j] = xSmallest[j] + sigma * (x[j] - xSmallest[j]);
         }
-        pair.setCost(Double.NaN);
+        simplex[i] = new PointCostPair(x, Double.NaN);
       }
       evaluateSimplex();
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/PointCostPair.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/PointCostPair.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/PointCostPair.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/optimization/PointCostPair.java Tue Dec 19 14:11:07 2006
@@ -18,72 +18,26 @@
 package org.spaceroots.mantissa.optimization;
 
 /** This class holds a point and its associated cost.
- * <p>A cost/point pair is not evaluated at build time. Its associated
- * cost set to <code>Double.NaN</code> until it is evaluated.</p>
+ * <p>This is a simple immutable container.</p>
  * @author Luc Maisonobe
- * @version $Id: PointCostPair.java 1705 2006-09-17 19:57:39Z luc $
+ * @version $Id: PointCostPair.java 1709 2006-12-03 21:16:50Z luc $
  * @see CostFunction
  */
 public class PointCostPair {
 
-  /** Build a point/cost pair with non-evaluated cost.
+  /** Build a point/cost pair.
    * @param point point coordinates
+   * @param cost point cost
    */
-  public PointCostPair(double[] point) {
-    this.point = point;
-    cost = Double.NaN;
-  }
-
-  /** Reset the point coordinates.
-   * <p>Resetting the points coordinates automatically reset the cost
-   * to non-evaluated</p>
-   * @param point new point coordinates
-   * @return old point coordinates (this can be re-used to put the
-   * coordinates of another point without re-allocating an array)
-   */
-  public double[] setPoint(double[] point) {
-    double[] oldPoint = this.point;
-    this.point = point;
-    cost = Double.NaN;
-    return oldPoint;
-  }
-
-  /** Get the point coordinates.
-   * @return point coordinates
-   */
-  public double[] getPoint() {
-    return point;
-  }
-
-  /** Set the cost.
-   * @param cost cost to store in the instance (can be
-   * <code>Double.NaN</code> to reset the instance to non-evaluated)
-   */
-  public void setCost(double cost) {
+  public PointCostPair(double[] point, double cost) {
+    this.point = (double[]) point.clone();
     this.cost = cost;
   }
 
-  /** Get the cost.
-   * @return cost associated to the point (or <code>Double.NaN</code>
-   * if the instance is not evaluated)
-   */
-  public double getCost() {
-    return cost;
-  }
-
-  /** Check if the cost has been evaluated.
-   * <p>The cost is considered to be non-evaluated if it is
-   * <code>Double.isNaN(pair.getCost())</code> would return true</p>
-   * @return true if the cost has been evaluated
-   */
-  public boolean isEvaluated() {
-    return ! Double.isNaN(cost);
-  }
-
   /** Point coordinates. */
-  private double[] point;
+  public final double[] point;
 
   /** Cost associated to the point. */
-  private double cost;
+  public final double cost;
 
 }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegrator.java Tue Dec 19 14:11:07 2006
@@ -45,7 +45,7 @@
 
     try {
       while (true) {
-        sum = sampler.nextSamplePoint().getY();
+        sum = sampler.nextSamplePoint().y;
       }
     } catch(ExhaustedSampleException e) {
     }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegratorSampler.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegratorSampler.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegratorSampler.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/EnhancedSimpsonIntegratorSampler.java Tue Dec 19 14:11:07 2006
@@ -85,15 +85,15 @@
     try {
       next = iter.nextSamplePoint();
 
-      double h1 = current.getX() - previous.getX();
-      double h2 = next.getX()    - current.getX();
+      double h1 = current.x - previous.x;
+      double h2 = next.x    - current.x;
       double cP = (h1 + h2) * (2 * h1 - h2) / (6 * h1);
       double cC = (h1 + h2) * (h1 + h2) * (h1 + h2) / (6 * h1 * h2);
       double cN = (h1 + h2) * (2 * h2 - h1) / (6 * h2);
 
-      double[] pY = previous.getY();
-      double[] cY = current.getY();
-      double[] nY = next.getY();
+      double[] pY = previous.y;
+      double[] cY = current.y;
+      double[] nY = next.y;
       for (int i = 0; i < sum.length; ++i) {
         sum [i] += cP * pY[i] + cC * cY[i] + cN * nY[i];
       }
@@ -101,18 +101,16 @@
     } catch(ExhaustedSampleException e) {
       // we have an incomplete step at the end of the sample
       // we use a trapezoid scheme for this last step
-      double halfDx = 0.5 * (current.getX() - previous.getX());
-      double[] pY = previous.getY();
-      double[] cY = current.getY();
+      double halfDx = 0.5 * (current.x - previous.x);
+      double[] pY = previous.y;
+      double[] cY = current.y;
       for (int i = 0; i < sum.length; ++i) {
         sum [i] += halfDx * (pY[i] + cY[i]);
       }
-      return new VectorialValuedPair(current.getX(), sum);
+      return new VectorialValuedPair(current.x, sum);
     }
 
-    double[] values = new double[sum.length];
-    System.arraycopy(sum, 0, values, 0, sum.length);
-    return new VectorialValuedPair(next.getX(), values);
+    return new VectorialValuedPair(next.x, (double[]) sum.clone());
 
   }
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegrator.java Tue Dec 19 14:11:07 2006
@@ -51,7 +51,7 @@
 
     try {
       while (true) {
-        sum = sampler.nextSamplePoint().getY();
+        sum = sampler.nextSamplePoint().y;
       }
     } catch(ExhaustedSampleException e) {
     }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegratorSampler.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegratorSampler.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegratorSampler.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/RiemannIntegratorSampler.java Tue Dec 19 14:11:07 2006
@@ -86,15 +86,13 @@
     // performs one step of a Riemann scheme
     VectorialValuedPair previous = current;
     current = iter.nextSamplePoint();
-    double step =  (current.getX() - previous.getX());
-    double[] pY = previous.getY();
+    double step =  (current.x - previous.x);
+    double[] pY = previous.y;
     for (int i = 0; i < sum.length; ++i) {
       sum[i] += step * pY[i];
     }
 
-    double[] values = new double[sum.length];
-    System.arraycopy(sum, 0, values, 0, sum.length);
-    return new VectorialValuedPair (current.getX(), values);
+    return new VectorialValuedPair (current.x, (double[]) sum.clone());
 
   }
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegrator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegrator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegrator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegrator.java Tue Dec 19 14:11:07 2006
@@ -42,7 +42,7 @@
 
     try {
       while (true) {
-        sum = sampler.nextSamplePoint().getY();
+        sum = sampler.nextSamplePoint().y;
       }
     } catch(ExhaustedSampleException e) {
     }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegratorSampler.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegratorSampler.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegratorSampler.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/quadrature/vectorial/TrapezoidIntegratorSampler.java Tue Dec 19 14:11:07 2006
@@ -87,16 +87,14 @@
     VectorialValuedPair previous = current;
     current = iter.nextSamplePoint();
 
-    double halfDx = 0.5 * (current.getX() - previous.getX());
-    double[] pY = previous.getY();
-    double[] cY = current.getY();
+    double halfDx = 0.5 * (current.x - previous.x);
+    double[] pY = previous.y;
+    double[] cY = current.y;
     for (int i = 0; i < sum.length; ++i) {
       sum[i] += halfDx * (pY[i] + cY[i]);
     }
 
-    double[] values = new double[sum.length];
-    System.arraycopy(sum, 0, values, 0, sum.length);
-    return new VectorialValuedPair (current.getX(), values);
+    return new VectorialValuedPair (current.x, (double[]) sum.clone());
 
   }
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/CorrelatedRandomVectorGenerator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/CorrelatedRandomVectorGenerator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/CorrelatedRandomVectorGenerator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/CorrelatedRandomVectorGenerator.java Tue Dec 19 14:11:07 2006
@@ -81,13 +81,12 @@
                                     });
       throw new IllegalArgumentException(message);
     }
-    this.mean = mean;
+    this.mean = (double[]) mean.clone();
 
     factorize(covariance);
 
     this.generator = generator;
     normalized = new double[rank];
-    correlated = new double[order];
 
   }
 
@@ -114,7 +113,6 @@
 
     this.generator = generator;
     normalized = new double[rank];
-    correlated = new double[order];
 
   }
 
@@ -240,10 +238,8 @@
   }
 
   /** Generate a correlated random vector.
-   * @return a random vector as an array of double. The generator
-   * <em>will</em> reuse the same array for each call, in order to
-   * save the allocation time, so the user should keep a copy by
-   * himself if he needs so.
+   * @return a random vector as an array of double. The returned array
+   * is created at each call, the caller can do what it wants with it.
    */
   public double[] nextVector() {
 
@@ -253,6 +249,7 @@
     }
 
     // compute correlated vector
+    double[] correlated = new double[mean.length];
     for (int i = 0; i < correlated.length; ++i) {
       correlated[i] = mean[i];
       for (int j = 0; j < rank; ++j) {
@@ -279,9 +276,6 @@
   /** Storage for the normalized vector. */
   private double[] normalized;
 
-  /** Storage for the random vector. */
-  private double[] correlated;
-
-  private static final long serialVersionUID = -4754497552287369719L;
+  private static final long serialVersionUID = -88563624902398453L;
 
 }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/GaussianRandomGenerator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/GaussianRandomGenerator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/GaussianRandomGenerator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/GaussianRandomGenerator.java Tue Dec 19 14:11:07 2006
@@ -33,9 +33,6 @@
 public class GaussianRandomGenerator
   implements NormalizedRandomGenerator {
 
-  /** Underlying generator. */
-  Random generator;
-
   /** Create a new generator.
    * The seed of the generator is related to the current time.
    */
@@ -63,5 +60,10 @@
   public double nextDouble() {
     return generator.nextGaussian();
   }
+
+  /** Underlying generator. */
+  private Random generator;
+
+  private static final long serialVersionUID = 5504568059866195697L;
 
 }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/NormalizedRandomGenerator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/NormalizedRandomGenerator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/NormalizedRandomGenerator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/NormalizedRandomGenerator.java Tue Dec 19 14:11:07 2006
@@ -17,6 +17,8 @@
 
 package org.spaceroots.mantissa.random;
 
+import java.io.Serializable;
+
 /** This interface represent a normalized random generator for
  * scalars.
  * Normalized generator should provide null mean and unit standard
@@ -24,7 +26,7 @@
  * @version $Id: NormalizedRandomGenerator.java 1705 2006-09-17 19:57:39Z luc $
  * @author L. Maisonobe
  */
-public interface NormalizedRandomGenerator {
+public interface NormalizedRandomGenerator extends Serializable {
 
   /** Generate a random scalar with null mean and unit standard deviation.
    * <p>This method does <strong>not</strong> specify the shape of the

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UncorrelatedRandomVectorGenerator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UncorrelatedRandomVectorGenerator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UncorrelatedRandomVectorGenerator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UncorrelatedRandomVectorGenerator.java Tue Dec 19 14:11:07 2006
@@ -46,11 +46,10 @@
     if (mean.length != standardDeviation.length) {
       throw new IllegalArgumentException("dimension mismatch");
     }
-    this.mean              = mean;
-    this.standardDeviation = standardDeviation;
+    this.mean              = (double[]) mean.clone();
+    this.standardDeviation = (double[]) standardDeviation.clone();
 
     this.generator = generator;
-    random = new double[mean.length];
 
   }
 
@@ -72,7 +71,6 @@
     }
 
     this.generator = generator;
-    random = new double[dimension];
 
   }
 
@@ -84,13 +82,12 @@
   }
 
   /** Generate a correlated random vector.
-   * @return a random vector as an array of double. The generator
-   * <em>will</em> reuse the same array for each call, in order to
-   * save the allocation time, so the user should keep a copy by
-   * himself if he needs so.
+   * @return a random vector as an array of double. The returned array
+   * is created at each call, the caller can do what it wants with it.
    */
   public double[] nextVector() {
 
+    double[] random = new double[mean.length]; 
     for (int i = 0; i < random.length; ++i) {
       random[i] = mean[i] + standardDeviation[i] * generator.nextDouble();
     }
@@ -108,9 +105,6 @@
   /** Underlying scalar generator. */
   NormalizedRandomGenerator generator;
 
-  /** Storage for the random vector. */
-  private double[] random;
-
-  private static final long serialVersionUID = -3323293740860311151L;
+  private static final long serialVersionUID = -9094322067568302961L;
 
 }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UniformRandomGenerator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UniformRandomGenerator.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UniformRandomGenerator.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/UniformRandomGenerator.java Tue Dec 19 14:11:07 2006
@@ -34,13 +34,6 @@
 public class UniformRandomGenerator
   implements NormalizedRandomGenerator {
 
-  private static final double SQRT3 = Math.sqrt(3.0);
-
-  private static final double TWOSQRT3 = 2.0 * Math.sqrt(3.0);
-
-  /** Underlying generator. */
-  Random generator;
-
   /** Create a new generator.
    * The seed of the generator is related to the current time.
    */
@@ -70,5 +63,14 @@
   public double nextDouble() {
     return TWOSQRT3 * generator.nextDouble() - SQRT3;
   }
+
+  /** Underlying generator. */
+  private Random generator;
+
+  private static final double SQRT3 = Math.sqrt(3.0);
+
+  private static final double TWOSQRT3 = 2.0 * Math.sqrt(3.0);
+
+  private static final long serialVersionUID = -6913329325753217654L;
 
 }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/VectorialSampleStatistics.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/VectorialSampleStatistics.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/VectorialSampleStatistics.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/random/VectorialSampleStatistics.java Tue Dec 19 14:11:07 2006
@@ -19,8 +19,6 @@
 
 import org.spaceroots.mantissa.linalg.SymetricalMatrix;
 
-import java.util.Arrays;
-
 /** This class compute basic statistics on a scalar sample.
  * @version $Id: VectorialSampleStatistics.java 1705 2006-09-17 19:57:39Z luc $
  * @author L. Maisonobe
@@ -65,16 +63,6 @@
     sum2       = null;
   }
 
-  /** Allocate all the arrays. */
-  private void allocate() {
-    min        = new double[dimension];
-    minIndices = new int[dimension];
-    max        = new double[dimension];
-    maxIndices = new int[dimension];
-    sum        = new double[dimension];
-    sum2       = new double[dimension * (dimension + 1) / 2];
-  }
-
   /** Add one point to the instance.
    * @param x value of the sample point
    * @exception IllegalArgumentException if there is a dimension
@@ -85,14 +73,13 @@
 
     if (n == 0) {
 
-      dimension = x.length;
-      allocate();
-
-      Arrays.fill(minIndices, 0);
-      Arrays.fill(maxIndices, 0);
-      System.arraycopy(x, 0, min, 0, dimension);
-      System.arraycopy(x, 0, max, 0, dimension);
-      System.arraycopy(x, 0, sum, 0, dimension);
+      dimension  = x.length;
+      minIndices = new int[dimension];
+      maxIndices = new int[dimension];
+      min        = (double[]) x.clone();
+      max        = (double[]) x.clone();
+      sum        = (double[]) x.clone();
+      sum2       = new double[dimension * (dimension + 1) / 2];
 
       int k = 0;
       for (int i = 0; i < dimension; ++i) {
@@ -153,14 +140,12 @@
     if (n == 0) {
 
       dimension = s.dimension;
-      allocate();
-
-      System.arraycopy(s.min,         0, min,         0, dimension);
-      System.arraycopy(s.minIndices,  0, minIndices,  0, dimension);
-      System.arraycopy(s.max,         0, max,         0, dimension);
-      System.arraycopy(s.maxIndices,  0, maxIndices,  0, dimension);
-      System.arraycopy(s.sum,         0, sum,         0, dimension);
-      System.arraycopy(s.sum2,        0, sum2,        0, sum2.length);
+      min        = (double[]) s.min.clone();
+      minIndices = (int[])    s.minIndices.clone();
+      max        = (double[]) s.max.clone();
+      maxIndices = (int[])    s.maxIndices.clone();
+      sum        = (double[]) s.sum.clone();
+      sum2       = (double[]) s.sum2.clone();
 
     } else {
       int k = 0;
@@ -203,26 +188,22 @@
    * of the sample at which the minimum was encountered can be
    * retrieved with the {@link #getMinIndices getMinIndices}
    * method.</p>
-   * @return minimal value in the sample (the array is a reference to
-   * an internal array that changes each time something is added to
-   * the instance, the caller should neither change it nor rely on its
-   * value in the long term)
+   * @return minimal value in the sample (a new array is created
+   * at each call, the caller may do what it wants to with it)
    * @see #getMinIndices
    */
   public double[] getMin() {
-    return min;
+    return (double[]) min.clone();
   }
 
   /** Get the indices at which the minimal value occurred in the sample.
    * @return a vector reporting at which occurrence each component of
-   * the sample reached its minimal value (the array is a reference to
-   * an internal array that changes each time something is added to
-   * the instance, the caller should neither change it nor rely on its
-   * value in the long term)
+   * the sample reached its minimal value (a new array is created
+   * at each call, the caller may do what it wants to with it)
    * @see #getMin
    */
   public int[] getMinIndices() {
-    return minIndices;
+    return (int[]) minIndices.clone();
   }
 
   /** Get the maximal value in the sample.
@@ -232,43 +213,34 @@
    * of the sample at which the maximum was encountered can be
    * retrieved with the {@link #getMaxIndices getMaxIndices}
    * method.</p>
-   * @return maximal value in the sample (the array is a reference to
-   * an internal array that changes each time something is added to
-   * the instance, the caller should neither change it nor rely on its
-   * value in the long term)
+   * @return maximal value in the sample (a new array is created
+   * at each call, the caller may do what it wants to with it)
    * @see #getMaxIndices
    */
   public double[] getMax() {
-    return max;
+    return (double[]) max.clone();
   }
 
   /** Get the indices at which the maximal value occurred in the sample.
    * @return a vector reporting at which occurrence each component of
-   * the sample reached its maximal value (the array is a reference to
-   * an internal array that changes each time something is added to
-   * the instance, the caller should neither change it nor rely on its
-   * value in the long term)
+   * the sample reached its maximal value (a new array is created
+   * at each call, the caller may do what it wants to with it)
    * @see #getMax
    */
   public int[] getMaxIndices() {
-    return maxIndices;
+    return (int[]) maxIndices.clone();
   }
 
   /** Get the mean value of the sample.
-   * @param mean placeholder where to store the array, if null a new
-   * array will be allocated
-   * @return mean value of the sample or null if the sample is empty
-   * and hence the dimension of the vectors is still unknown
-   * (reference to mean if it was non-null, reference to a new array
-   * otherwise)
+   * @return mean value of the sample or an empty array
+   * if the sample is empty (a new array is created
+   * at each call, the caller may do what it wants to with it)
    */
-  public double[] getMean(double[] mean) {
+  public double[] getMean() {
     if (n == 0) {
-      return null;
-    }
-    if (mean == null) {
-      mean = new double[dimension];
+      return new double[0];
     }
+    double[] mean = new double[dimension];
     for (int i = 0; i < dimension; ++i) {
       mean[i] = sum[i] / n;
     }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/ArrayMapper.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/ArrayMapper.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/ArrayMapper.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/ArrayMapper.java Tue Dec 19 14:11:07 2006
@@ -77,14 +77,14 @@
 
   }
 
-  /** Get the internal data array.
-   * @return internal data array
+  /** Get the data array.
+   * @return copy of the data array
    */
-  public double[] getInternalDataArray() {
+  public double[] getDataArray() {
     if (internalData == null) {
       internalData = new double [size];
     }
-    return internalData;
+    return (double[]) internalData.clone();
   }
 
   /** Map data from the internal array to the domain objects.

Modified: jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/MappableArray.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/MappableArray.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/MappableArray.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/utilities/MappableArray.java Tue Dec 19 14:11:07 2006
@@ -43,24 +43,16 @@
   /** Simple constructor.
    * Build a mappable array from an existing array
    * @param array array to use
-   * @param doReallocate true if a new array should be allocated and
-   * initialized using the other argument, false if the instance
-   * should reference the existing array throughout its lifetime
    */
-  public MappableArray(double[] array, boolean doReallocate) {
-    if (doReallocate) {
-      internalArray = new double[array.length];
-      System.arraycopy(array, 0, internalArray, 0, array.length);
-    } else {
-      internalArray = array;
-    }
+  public MappableArray(double[] array) {
+    internalArray = (double[]) array.clone();
   }
 
   /** Get the array stored in the instance.
    * @return array stored in the instance
    */
   public double[] getArray () {
-    return internalArray;
+    return (double[]) internalArray.clone();
   }
 
   /** Get the dimension of the internal array.

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/ChebyshevTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/ChebyshevTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/ChebyshevTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/ChebyshevTest.java Tue Dec 19 14:11:07 2006
@@ -26,7 +26,7 @@
     super(name);
   }
 
-  public void aatestOne() {
+  public void testOne() {
     assertTrue(new Chebyshev().isOne());
   }
 
@@ -44,16 +44,16 @@
 
   }
 
-  public void aatestBounds() {
+  public void testBounds() {
     for (int k = 0; k < 12; ++k) {
-      Chebyshev Tk = new Chebyshev(k);
+      OrthogonalPolynomial Tk = new Chebyshev(k);
       for (double x = -1.0; x <= 1.0; x += 0.02) {
         assertTrue(Math.abs(Tk.valueAt(x)) < (1.0 + 1.0e-12));
       }
     }
   }
 
-  public void aatestDifferentials() {
+  public void testDifferentials() {
     for (int k = 0; k < 12; ++k) {
 
       Polynomial.Rational Tk0 = new Chebyshev(k);
@@ -64,12 +64,11 @@
       Polynomial.Rational g1 = new Polynomial.Rational(-1l, 0l);
       Polynomial.Rational g2 = new Polynomial.Rational(-1l, 0l, 1l);
 
-      Polynomial.Rational Tk0g0 = Polynomial.Rational.multiply(Tk0, g0);
-      Polynomial.Rational Tk1g1 = Polynomial.Rational.multiply(Tk1, g1);
-      Polynomial.Rational Tk2g2 = Polynomial.Rational.multiply(Tk2, g2);
+      Polynomial.Rational Tk0g0 = Tk0.multiply(g0);
+      Polynomial.Rational Tk1g1 = Tk1.multiply(g1);
+      Polynomial.Rational Tk2g2 = Tk2.multiply(g2);
 
-      Polynomial.Rational d =
-        Polynomial.Rational.add(Tk0g0, Polynomial.Rational.add(Tk1g1, Tk2g2));
+      Polynomial.Rational d = Tk0g0.add(Tk1g1.add(Tk2g2));
       assertTrue(d.isZero());
 
     }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/HermiteTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/HermiteTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/HermiteTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/HermiteTest.java Tue Dec 19 14:11:07 2006
@@ -55,12 +55,11 @@
       Polynomial.Rational g1 = new Polynomial.Rational(-2l, 0l);
       Polynomial.Rational g2 = new Polynomial.Rational(1l);
 
-      Polynomial.Rational Hk0g0 = Polynomial.Rational.multiply(Hk0, g0);
-      Polynomial.Rational Hk1g1 = Polynomial.Rational.multiply(Hk1, g1);
-      Polynomial.Rational Hk2g2 = Polynomial.Rational.multiply(Hk2, g2);
+      Polynomial.Rational Hk0g0 = Hk0.multiply(g0);
+      Polynomial.Rational Hk1g1 = Hk1.multiply(g1);
+      Polynomial.Rational Hk2g2 = Hk2.multiply(g2);
 
-      Polynomial.Rational d =
-        Polynomial.Rational.add(Hk0g0, Polynomial.Rational.add(Hk1g1, Hk2g2));
+      Polynomial.Rational d = Hk0g0.add(Hk1g1.add(Hk2g2));
       assertTrue(d.isZero());
 
     }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LaguerreTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LaguerreTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LaguerreTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LaguerreTest.java Tue Dec 19 14:11:07 2006
@@ -61,19 +61,18 @@
       Polynomial.Rational g1 = new Polynomial.Rational(-1l, 1l);
       Polynomial.Rational g2 = new Polynomial.Rational(1l, 0l);
 
-      Polynomial.Rational Lk0g0 = Polynomial.Rational.multiply(Lk0, g0);
-      Polynomial.Rational Lk1g1 = Polynomial.Rational.multiply(Lk1, g1);
-      Polynomial.Rational Lk2g2 = Polynomial.Rational.multiply(Lk2, g2);
+      Polynomial.Rational Lk0g0 = Lk0.multiply(g0);
+      Polynomial.Rational Lk1g1 = Lk1.multiply(g1);
+      Polynomial.Rational Lk2g2 = Lk2.multiply(g2);
 
-      Polynomial.Rational d =
-        Polynomial.Rational.add(Lk0g0, Polynomial.Rational.add(Lk1g1, Lk2g2));
+      Polynomial.Rational d = Lk0g0.add(Lk1g1.add(Lk2g2));
       assertTrue(d.isZero());
 
     }
   }
 
   public void checkLaguerre(Laguerre p, long denominator, String reference) {
-    assertTrue(Laguerre.multiply(p, denominator).toString().equals(reference));
+    assertTrue(p.multiply(denominator).toString().equals(reference));
   }
 
   public static Test suite() {

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LegendreTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LegendreTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LegendreTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/LegendreTest.java Tue Dec 19 14:11:07 2006
@@ -55,12 +55,11 @@
       Polynomial.Rational g1 = new Polynomial.Rational(-2l, 0l);
       Polynomial.Rational g2 = new Polynomial.Rational(-1l, 0l, 1l);
 
-      Polynomial.Rational Pk0g0 = Polynomial.Rational.multiply(Pk0, g0);
-      Polynomial.Rational Pk1g1 = Polynomial.Rational.multiply(Pk1, g1);
-      Polynomial.Rational Pk2g2 = Polynomial.Rational.multiply(Pk2, g2);
+      Polynomial.Rational Pk0g0 = Pk0.multiply(g0);
+      Polynomial.Rational Pk1g1 = Pk1.multiply(g1);
+      Polynomial.Rational Pk2g2 = Pk2.multiply(g2);
 
-      Polynomial.Rational d =
-        Polynomial.Rational.add(Pk0g0, Polynomial.Rational.add(Pk1g1, Pk2g2));
+      Polynomial.Rational d = Pk0g0.add(Pk1g1.add(Pk2g2));
       assertTrue(d.isZero());
 
     }
@@ -92,7 +91,7 @@
   }
 
   public void checkLegendre(Legendre p, long denominator, String reference) {
-    assertTrue(Legendre.multiply(p, denominator).toString().equals(reference));
+    assertTrue(p.multiply(denominator).toString().equals(reference));
   }
 
   public static Test suite() {

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialDoubleTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialDoubleTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialDoubleTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialDoubleTest.java Tue Dec 19 14:11:07 2006
@@ -49,20 +49,14 @@
 
   public void testConversion() {
     Polynomial.Rational r = new Polynomial.Rational(1l, 3l, -5l);
-    r.multiplySelf(new RationalNumber(1l, 2l));
+    r = (Polynomial.Rational) r.multiply(new RationalNumber(1l, 2l));
     Polynomial.Double p = new Polynomial.Double(r);
     checkPolynomial(p, "-2.5 + 1.5 x + 0.5 x^2");
   }
 
   public void testString() {
-
     Polynomial.Double p = new Polynomial.Double(1.0, 3.0, -5.0);
     checkPolynomial(p, "-5.0 + 3.0 x + x^2");
-    p.setUnknownName("alpha");
-    checkPolynomial(p, "-5.0 + 3.0 alpha + alpha^2");
-    p.setUnknownName(null);
-    checkPolynomial(p, "-5.0 + 3.0 x + x^2");
-
     checkPolynomial(new Polynomial.Double(3.0, -2.0, 0.0),
                     "-2.0 x + 3.0 x^2");
     checkPolynomial(new Polynomial.Double(3.0, -2.0, 1.0),
@@ -75,22 +69,20 @@
                     "1.0 + 3.0 x^2");
     checkPolynomial(new Polynomial.Double(0.0),
                     "0");
-
   }
 
   public void testAddition() {
 
     Polynomial.Double p1 = new Polynomial.Double(1.0, -2.0);
     Polynomial.Double p2 = new Polynomial.Double(0.0, -1.0, 2.0);
-    assertTrue(Polynomial.Double.add(p1, p2).isZero());
+    assertTrue(p1.add(p2).isZero());
 
-    p2 = new Polynomial.Double(p1);
-    p2.addToSelf(p2);
+    p2 = p1.add(p1);
     checkPolynomial(p2, "-4.0 + 2.0 x");
 
     p1 = new Polynomial.Double(2.0, -4.0, 1.0);
     p2 = new Polynomial.Double(-2.0, 3.0, -1.0);
-    p1.addToSelf(p2);
+    p1 = p1.add(p2);
     assertEquals(1, p1.getDegree());
     checkPolynomial(p1, "-x");
 
@@ -99,15 +91,15 @@
   public void testSubtraction() {
 
     Polynomial.Double p1 = new Polynomial.Double(1.0, -2.0);
-    assertTrue(Polynomial.Double.subtract(p1, p1).isZero());
+    assertTrue(p1.subtract(p1).isZero());
 
     Polynomial.Double p2 = new Polynomial.Double(6.0, -2.0);
-    p2.subtractFromSelf(p1);
+    p2 = p2.subtract(p1);
     checkPolynomial(p2, "5.0 x");
 
     p1 = new Polynomial.Double(2.0, -4.0, 1.0);
     p2 = new Polynomial.Double(2.0, 3.0, -1.0);
-    p1.subtractFromSelf(p2);
+    p1 = p1.subtract(p2);
     assertEquals(1, p1.getDegree());
     checkPolynomial(p1, "2.0 - 7.0 x");
 
@@ -117,12 +109,12 @@
 
     Polynomial.Double p1 = new Polynomial.Double(2.0, -3.0);
     Polynomial.Double p2 = new Polynomial.Double(1.0, 2.0, 3.0);
-    checkPolynomial(Polynomial.Double.multiply(p1, p2), "-9.0 + x^2 + 2.0 x^3");
+    checkPolynomial(p1.multiply(p2), "-9.0 + x^2 + 2.0 x^3");
 
     p1 = new Polynomial.Double(1.0, 0.0);
-    p2 = new Polynomial.Double(p1);
+    p2 = p1;
     for (int i = 2; i < 10; ++i) {
-      p2.multiplySelf(p1);
+      p2 = p2.multiply(p1);
       checkPolynomial(p2, "x^" + i);
     }
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialFractionTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialFractionTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialFractionTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialFractionTest.java Tue Dec 19 14:11:07 2006
@@ -55,18 +55,18 @@
   public void testInvert() {
 
     PolynomialFraction f = new PolynomialFraction(2l, 4l);
-    f.invertSelf();
+    f= f.invert();
     checkValue(f, "2");
-    f.invertSelf();
+    f = f.invert();
     checkValue(f, "1/2");
 
     f = new PolynomialFraction(120l);
-    f.invertSelf();
+    f = f.invert();
     checkValue(f, "1/120");
 
     f = new PolynomialFraction(0l, 4l);
     try {
-      f.invertSelf();
+      f = f.invert();
       fail("an exception should have been thrown");
     } catch (ArithmeticException e) {
     } catch (Exception e) {
@@ -74,7 +74,7 @@
     }
 
     f = new PolynomialFraction(307692l, 999999l);
-    PolynomialFraction fInverse = PolynomialFraction.invert(f);
+    PolynomialFraction fInverse = f.invert();
     checkValue(fInverse, "13/4");
     checkValue(f, "4/13");
 
@@ -83,23 +83,18 @@
   public void testAddition() {
 
     PolynomialFraction f1 = new PolynomialFraction(4l, 6l);
-    f1.addToSelf(f1);
+    f1 = f1.add(f1);
     checkValue(f1, "4/3");
 
-    checkValue(PolynomialFraction.add(new PolynomialFraction(17l, 3l),
-                                      new PolynomialFraction(-17l, 3l)),
+    checkValue(new PolynomialFraction(17l, 3l).add(new PolynomialFraction(-17l, 3l)),
                "0");
-    checkValue(PolynomialFraction.add(new PolynomialFraction(2l, 3l),
-                                      new PolynomialFraction(3l, 4l)),
+    checkValue(new PolynomialFraction(2l, 3l).add(new PolynomialFraction(3l, 4l)),
                "17/12");
-    checkValue(PolynomialFraction.add(new PolynomialFraction(1l, 6l),
-                                      new PolynomialFraction(2l, 6l)),
+    checkValue(new PolynomialFraction(1l, 6l).add(new PolynomialFraction(2l, 6l)),
                "1/2");
-    checkValue(PolynomialFraction.add(new PolynomialFraction(4l, 5l),
-                                      new PolynomialFraction(-3l, 4l)),
+    checkValue(new PolynomialFraction(4l, 5l).add(new PolynomialFraction(-3l, 4l)),
                "1/20");
-    checkValue(PolynomialFraction.add(new PolynomialFraction(-3l, 4l),
-                                      new PolynomialFraction(4l, 5l)),
+    checkValue(new PolynomialFraction(-3l, 4l).add(new PolynomialFraction(4l, 5l)),
                "1/20");
 
   }
@@ -107,44 +102,32 @@
   public void testSubtraction() {
 
     PolynomialFraction f1 = new PolynomialFraction(4l, 6l);
-    f1.subtractFromSelf(f1);
-    checkValue(f1, "0");
+    checkValue(f1.subtract(f1), "0");
 
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(7l, 3l),
-                                           new PolynomialFraction(-7l, 3l)),
+    checkValue(new PolynomialFraction(7l, 3l).subtract(new PolynomialFraction(-7l, 3l)),
                "14/3");
 
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(3l, 4l),
-                                           new PolynomialFraction(2l, 3l)),
+    checkValue(new PolynomialFraction(3l, 4l).subtract(new PolynomialFraction(2l, 3l)),
                "1/12");
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(3l, 4l),
-                                           new PolynomialFraction(-2l, 3l)),
+    checkValue(new PolynomialFraction(3l, 4l).subtract(new PolynomialFraction(-2l, 3l)),
                "17/12");
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(-3l, 4l),
-                                           new PolynomialFraction(2l, 3l)),
+    checkValue(new PolynomialFraction(-3l, 4l).subtract(new PolynomialFraction(2l, 3l)),
                "-17/12");
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(-3l, 4l),
-                                           new PolynomialFraction(-2l, 3l)),
+    checkValue(new PolynomialFraction(-3l, 4l).subtract(new PolynomialFraction(-2l, 3l)),
                "-1/12");
 
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(2l, 3l),
-                                           new PolynomialFraction(3l, 4l)),
+    checkValue(new PolynomialFraction(2l, 3l).subtract(new PolynomialFraction(3l, 4l)),
                "-1/12");
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(-2l, 3l),
-                                           new PolynomialFraction(3l, 4l)),
+    checkValue(new PolynomialFraction(-2l, 3l).subtract(new PolynomialFraction(3l, 4l)),
                "-17/12");
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(2l, 3l),
-                                           new PolynomialFraction(-3l, 4l)),
+    checkValue(new PolynomialFraction(2l, 3l).subtract(new PolynomialFraction(-3l, 4l)),
                "17/12");
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(-2l, 3l),
-                                           new PolynomialFraction(-3l, 4l)),
+    checkValue(new PolynomialFraction(-2l, 3l).subtract(new PolynomialFraction(-3l, 4l)),
                "1/12");
 
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(1l, 6l),
-                                           new PolynomialFraction(2l, 6l)),
+    checkValue(new PolynomialFraction(1l, 6l).subtract(new PolynomialFraction(2l, 6l)),
                "-1/6");
-    checkValue(PolynomialFraction.subtract(new PolynomialFraction(1l, 2l),
-                                           new PolynomialFraction(1l, 6l)),
+    checkValue(new PolynomialFraction(1l, 2l).subtract(new PolynomialFraction(1l, 6l)),
                "1/3");
 
   }
@@ -152,23 +135,17 @@
   public void testMultiplication() {
 
     PolynomialFraction f = new PolynomialFraction(2l, 3l);
-    f.multiplySelf(new PolynomialFraction(9l,4l));
-    checkValue(f, "3/2");
+    checkValue(f.multiply(new PolynomialFraction(9l,4l)), "3/2");
 
-    checkValue(PolynomialFraction.multiply(new PolynomialFraction(1l, 2l),
-                                           new PolynomialFraction(0l)),
+    checkValue(new PolynomialFraction(1l, 2l).multiply(new PolynomialFraction(0l)),
                "0");
-    checkValue(PolynomialFraction.multiply(new PolynomialFraction(4l, 15l),
-                                           new PolynomialFraction(-5l, 2l)),
+    checkValue(new PolynomialFraction(4l, 15l).multiply(new PolynomialFraction(-5l, 2l)),
                "-2/3");
-    checkValue(PolynomialFraction.multiply(new PolynomialFraction(-4l, 15l),
-                                           new PolynomialFraction(5l, 2l)),
+    checkValue(new PolynomialFraction(-4l, 15l).multiply(new PolynomialFraction(5l, 2l)),
                "-2/3");
-    checkValue(PolynomialFraction.multiply(new PolynomialFraction(4l, 15l),
-                                           new PolynomialFraction(5l, 2l)),
+    checkValue(new PolynomialFraction(4l, 15l).multiply(new PolynomialFraction(5l, 2l)),
                "2/3");
-    checkValue(PolynomialFraction.multiply(new PolynomialFraction(-4l, 15l),
-                                           new PolynomialFraction(-5l, 2l)),
+    checkValue(new PolynomialFraction(-4l, 15l).multiply(new PolynomialFraction(-5l, 2l)),
                "2/3");
 
   }
@@ -176,29 +153,24 @@
   public void testDivision() {
 
     PolynomialFraction f = new PolynomialFraction(2l, 3l);
-    f.divideSelf(new PolynomialFraction(4l,9l));
-    checkValue(f, "3/2");
+    ;
+    checkValue(f.divide(new PolynomialFraction(4l,9l)), "3/2");
 
     try {
-      PolynomialFraction.divide(new PolynomialFraction(1l, 2l),
-                                new PolynomialFraction(0l));
+      new PolynomialFraction(1l, 2l).divide(new PolynomialFraction(0l));
       fail("an exception should have been thrown");
     } catch (ArithmeticException e) {
     } catch (Exception e) {
       fail("wrong exception caught");
     }
 
-    checkValue(PolynomialFraction.divide(new PolynomialFraction(4l, 15l),
-                                         new PolynomialFraction(-2l, 5l)),
+    checkValue(new PolynomialFraction(4l, 15l).divide(new PolynomialFraction(-2l, 5l)),
                "-2/3");
-    checkValue(PolynomialFraction.divide(new PolynomialFraction(-4l, 15l),
-                                         new PolynomialFraction(2l, 5l)),
+    checkValue(new PolynomialFraction(-4l, 15l).divide(new PolynomialFraction(2l, 5l)),
                "-2/3");
-    checkValue(PolynomialFraction.divide(new PolynomialFraction(4l, 15l),
-                                         new PolynomialFraction(2l, 5l)),
+    checkValue(new PolynomialFraction(4l, 15l).divide(new PolynomialFraction(2l, 5l)),
                "2/3");
-    checkValue(PolynomialFraction.divide(new PolynomialFraction(-4l, 15l),
-                                         new PolynomialFraction(-2l, 5l)),
+    checkValue(new PolynomialFraction(-4l, 15l).divide(new PolynomialFraction(-2l, 5l)),
                "2/3");
 
   }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialRationalTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialRationalTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialRationalTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/PolynomialRationalTest.java Tue Dec 19 14:11:07 2006
@@ -57,10 +57,6 @@
 
     Polynomial.Rational p = new Polynomial.Rational(1l, 3l, -5l);
     checkPolynomial(p, "-5 + 3 x + x^2");
-    p.setUnknownName("alpha");
-    checkPolynomial(p, "-5 + 3 alpha + alpha^2");
-    p.setUnknownName(null);
-    checkPolynomial(p, "-5 + 3 x + x^2");
 
     checkPolynomial(new Polynomial.Rational(3l, -2l, 0l), "-2 x + 3 x^2");
     checkPolynomial(new Polynomial.Rational(3l, -2l, 1l), "1 - 2 x + 3 x^2");
@@ -75,15 +71,14 @@
 
     Polynomial.Rational p1 = new Polynomial.Rational(1l, -2l);
     Polynomial.Rational p2 = new Polynomial.Rational(0l, -1l, 2l);
-    assertTrue(Polynomial.Rational.add(p1, p2).isZero());
+    assertTrue(p1.add(p2).isZero());
 
-    p2 = new Polynomial.Rational(p1);
-    p2.addToSelf(p2);
+    p2 = p1.add(p1);
     checkPolynomial(p2, "-4 + 2 x");
 
     p1 = new Polynomial.Rational(2l, -4l, 1l);
     p2 = new Polynomial.Rational(-2l, 3l, -1l);
-    p1.addToSelf(p2);
+    p1 = p1.add(p2);
     assertEquals(1, p1.getDegree());
     checkPolynomial(p1, "-x");
 
@@ -92,15 +87,15 @@
   public void testSubtraction() {
 
     Polynomial.Rational p1 = new Polynomial.Rational(1l, -2l);
-    assertTrue(Polynomial.Rational.subtract(p1, p1).isZero());
+    assertTrue(p1.subtract(p1).isZero());
 
     Polynomial.Rational p2 = new Polynomial.Rational(6l, -2l);
-    p2.subtractFromSelf(p1);
+    p2 = p2.subtract(p1);
     checkPolynomial(p2, "5 x");
 
     p1 = new Polynomial.Rational(2l, -4l, 1l);
     p2 = new Polynomial.Rational(2l, 3l, -1l);
-    p1.subtractFromSelf(p2);
+    p1 = p1.subtract(p2);
     assertEquals(1, p1.getDegree());
     checkPolynomial(p1, "2 - 7 x");
 
@@ -110,12 +105,12 @@
 
     Polynomial.Rational p1 = new Polynomial.Rational(2l, -3l);
     Polynomial.Rational p2 = new Polynomial.Rational(1l, 2l, 3l);
-    checkPolynomial(Polynomial.Rational.multiply(p1, p2), "-9 + x^2 + 2 x^3");
+    checkPolynomial(p1.multiply(p2), "-9 + x^2 + 2 x^3");
 
     p1 = new Polynomial.Rational(1l, 0l);
-    p2 = new Polynomial.Rational(p1);
+    p2 = p1;
     for (int i = 2; i < 10; ++i) {
-      p2.multiplySelf(p1);
+      p2 = p2.multiply(p1);
       checkPolynomial(p2, "x^" + i);
     }
 
@@ -128,7 +123,7 @@
     checkPolynomial(p, "3/4 - 1/6 x + 2/5 x^2");
     BigInteger lcm = p.getDenominatorsLCM();
     assertEquals(BigInteger.valueOf(60l), lcm);
-    p.multiplySelf(lcm);
+    p = (Polynomial.Rational) p.multiply(lcm);
     checkPolynomial(p, "45 - 10 x + 24 x^2");
   }
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/RationalNumberTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/RationalNumberTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/RationalNumberTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/algebra/RationalNumberTest.java Tue Dec 19 14:11:07 2006
@@ -54,19 +54,17 @@
 
   public void testInvert() {
 
-    RationalNumber f = new RationalNumber(2l, 4l);
-    f.invertSelf();
+    RationalNumber f = new RationalNumber(2l, 4l).invert();
     checkValue(f, "2");
-    f.invertSelf();
+    f = f.invert();
     checkValue(f, "1/2");
 
-    f = new RationalNumber(120l);
-    f.invertSelf();
+    f = new RationalNumber(120l).invert();
     checkValue(f, "1/120");
 
     f = new RationalNumber(0l, 4l);
     try {
-      f.invertSelf();
+      f.invert();
       fail("an exception should have been thrown");
     } catch (ArithmeticException e) {
     } catch (Exception e) {
@@ -74,7 +72,7 @@
     }
 
     f = new RationalNumber(307692l, 999999l);
-    RationalNumber fInverse = RationalNumber.invert(f);
+    RationalNumber fInverse = f.invert();
     checkValue(fInverse, "13/4");
     checkValue(f, "4/13");
 
@@ -83,23 +81,18 @@
   public void testAddition() {
 
     RationalNumber f1 = new RationalNumber(4l, 6l);
-    f1.addToSelf(f1);
+    f1 = f1.add(f1);
     checkValue(f1, "4/3");
 
-    checkValue(RationalNumber.add(new RationalNumber(17l, 3l),
-                                  new RationalNumber(-17l, 3l)),
+    checkValue(new RationalNumber(17l, 3l).add(new RationalNumber(-17l, 3l)),
                "0");
-    checkValue(RationalNumber.add(new RationalNumber(2l, 3l),
-                                  new RationalNumber(3l, 4l)),
+    checkValue(new RationalNumber(2l, 3l).add(new RationalNumber(3l, 4l)),
                "17/12");
-    checkValue(RationalNumber.add(new RationalNumber(1l, 6l),
-                                  new RationalNumber(2l, 6l)),
+    checkValue(new RationalNumber(1l, 6l).add(new RationalNumber(2l, 6l)),
                "1/2");
-    checkValue(RationalNumber.add(new RationalNumber(4l, 5l),
-                                  new RationalNumber(-3l, 4l)),
+    checkValue(new RationalNumber(4l, 5l).add(new RationalNumber(-3l, 4l)),
                "1/20");
-    checkValue(RationalNumber.add(new RationalNumber(-3l, 4l),
-                                  new RationalNumber(4l, 5l)),
+    checkValue(new RationalNumber(-3l, 4l).add(new RationalNumber(4l, 5l)),
                "1/20");
 
   }
@@ -107,44 +100,33 @@
   public void testSubtraction() {
 
     RationalNumber f1 = new RationalNumber(4l, 6l);
-    f1.subtractFromSelf(f1);
+    f1 = f1.subtract(f1);
     checkValue(f1, "0");
 
-    checkValue(RationalNumber.subtract(new RationalNumber(7l, 3l),
-                                       new RationalNumber(-7l, 3l)),
+    checkValue(new RationalNumber(7l, 3l).subtract(new RationalNumber(-7l, 3l)),
                "14/3");
 
-    checkValue(RationalNumber.subtract(new RationalNumber(3l, 4l),
-                                       new RationalNumber(2l, 3l)),
+    checkValue(new RationalNumber(3l, 4l).subtract(new RationalNumber(2l, 3l)),
                "1/12");
-    checkValue(RationalNumber.subtract(new RationalNumber(3l, 4l),
-                                       new RationalNumber(-2l, 3l)),
+    checkValue(new RationalNumber(3l, 4l).subtract(new RationalNumber(-2l, 3l)),
                "17/12");
-    checkValue(RationalNumber.subtract(new RationalNumber(-3l, 4l),
-                                       new RationalNumber(2l, 3l)),
+    checkValue(new RationalNumber(-3l, 4l).subtract(new RationalNumber(2l, 3l)),
                "-17/12");
-    checkValue(RationalNumber.subtract(new RationalNumber(-3l, 4l),
-                                       new RationalNumber(-2l, 3l)),
+    checkValue(new RationalNumber(-3l, 4l).subtract(new RationalNumber(-2l, 3l)),
                "-1/12");
 
-    checkValue(RationalNumber.subtract(new RationalNumber(2l, 3l),
-                                       new RationalNumber(3l, 4l)),
+    checkValue(new RationalNumber(2l, 3l).subtract(new RationalNumber(3l, 4l)),
                "-1/12");
-    checkValue(RationalNumber.subtract(new RationalNumber(-2l, 3l),
-                                       new RationalNumber(3l, 4l)),
+    checkValue(new RationalNumber(-2l, 3l).subtract(new RationalNumber(3l, 4l)),
                "-17/12");
-    checkValue(RationalNumber.subtract(new RationalNumber(2l, 3l),
-                                       new RationalNumber(-3l, 4l)),
+    checkValue(new RationalNumber(2l, 3l).subtract(new RationalNumber(-3l, 4l)),
                "17/12");
-    checkValue(RationalNumber.subtract(new RationalNumber(-2l, 3l),
-                                       new RationalNumber(-3l, 4l)),
+    checkValue(new RationalNumber(-2l, 3l).subtract(new RationalNumber(-3l, 4l)),
                "1/12");
 
-    checkValue(RationalNumber.subtract(new RationalNumber(1l, 6l),
-                                       new RationalNumber(2l, 6l)),
+    checkValue(new RationalNumber(1l, 6l).subtract(new RationalNumber(2l, 6l)),
                "-1/6");
-    checkValue(RationalNumber.subtract(new RationalNumber(1l, 2l),
-                                       new RationalNumber(1l, 6l)),
+    checkValue(new RationalNumber(1l, 2l).subtract(new RationalNumber(1l, 6l)),
                "1/3");
 
   }
@@ -152,23 +134,18 @@
   public void testMultiplication() {
 
     RationalNumber f = new RationalNumber(2l, 3l);
-    f.multiplySelf(new RationalNumber(9l,4l));
+    f = f.multiply(new RationalNumber(9l,4l));
     checkValue(f, "3/2");
 
-    checkValue(RationalNumber.multiply(new RationalNumber(1l, 2l),
-                                       new RationalNumber(0l)),
+    checkValue(new RationalNumber(1l, 2l).multiply(new RationalNumber(0l)),
                "0");
-    checkValue(RationalNumber.multiply(new RationalNumber(4l, 15l),
-                                       new RationalNumber(-5l, 2l)),
+    checkValue(new RationalNumber(4l, 15l).multiply(new RationalNumber(-5l, 2l)),
                "-2/3");
-    checkValue(RationalNumber.multiply(new RationalNumber(-4l, 15l),
-                                       new RationalNumber(5l, 2l)),
+    checkValue(new RationalNumber(-4l, 15l).multiply(new RationalNumber(5l, 2l)),
                "-2/3");
-    checkValue(RationalNumber.multiply(new RationalNumber(4l, 15l),
-                                       new RationalNumber(5l, 2l)),
+    checkValue(new RationalNumber(4l, 15l).multiply(new RationalNumber(5l, 2l)),
                "2/3");
-    checkValue(RationalNumber.multiply(new RationalNumber(-4l, 15l),
-                                       new RationalNumber(-5l, 2l)),
+    checkValue(new RationalNumber(-4l, 15l).multiply(new RationalNumber(-5l, 2l)),
                "2/3");
 
   }
@@ -176,29 +153,24 @@
   public void testDivision() {
 
     RationalNumber f = new RationalNumber(2l, 3l);
-    f.divideSelf(new RationalNumber(4l,9l));
+    f = f.divide(new RationalNumber(4l,9l));
     checkValue(f, "3/2");
 
     try {
-      RationalNumber.divide(new RationalNumber(1l, 2l),
-                            new RationalNumber(0l));
+      new RationalNumber(1l, 2l).divide(new RationalNumber(0l));
       fail("an exception should have been thrown");
     } catch (ArithmeticException e) {
     } catch (Exception e) {
       fail("wrong exception caught");
     }
 
-    checkValue(RationalNumber.divide(new RationalNumber(4l, 15l),
-                                     new RationalNumber(-2l, 5l)),
+    checkValue(new RationalNumber(4l, 15l).divide(new RationalNumber(-2l, 5l)),
                "-2/3");
-    checkValue(RationalNumber.divide(new RationalNumber(-4l, 15l),
-                                     new RationalNumber(2l, 5l)),
+    checkValue(new RationalNumber(-4l, 15l).divide(new RationalNumber(2l, 5l)),
                "-2/3");
-    checkValue(RationalNumber.divide(new RationalNumber(4l, 15l),
-                                     new RationalNumber(2l, 5l)),
+    checkValue(new RationalNumber(4l, 15l).divide(new RationalNumber(2l, 5l)),
                "2/3");
-    checkValue(RationalNumber.divide(new RationalNumber(-4l, 15l),
-                                     new RationalNumber(-2l, 5l)),
+    checkValue(new RationalNumber(-4l, 15l).divide(new RationalNumber(-2l, 5l)),
                "2/3");
 
   }

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/AllTests.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/AllTests.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/AllTests.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/AllTests.java Tue Dec 19 14:11:07 2006
@@ -30,6 +30,7 @@
     suite.addTest(WeightedMeasurementTest.suite());
     suite.addTest(GaussNewtonEstimatorTest.suite());
     suite.addTest(LevenbergMarquardtEstimatorTest.suite());
+    suite.addTest(MinpackTest.suite());
 
     return suite; 
 

Modified: jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/GaussNewtonEstimatorTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/GaussNewtonEstimatorTest.java?view=diff&rev=488828&r1=488827&r2=488828
==============================================================================
--- jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/GaussNewtonEstimatorTest.java (original)
+++ jakarta/commons/proper/math/trunk/src/mantissa/tests-src/org/spaceroots/mantissa/estimation/GaussNewtonEstimatorTest.java Tue Dec 19 14:11:07 2006
@@ -106,7 +106,7 @@
     for (int i = 0; i < gridSize; ++i) {
       for (int j = 0; j < gridSize; ++j) {
 
-        String name            = new Integer(k).toString();
+        String name            = Integer.toString(k);
         perfectPars[2 * k]     = new EstimatedParameter("x" + name, i);
         perfectPars[2 * k + 1] = new EstimatedParameter("y" + name, j);
         ++k;
@@ -194,7 +194,7 @@
 
   }
 
-  private class Distance extends WeightedMeasurement {
+  private static class Distance extends WeightedMeasurement {
 
     public Distance(double weight, double measuredValue,
                     EstimatedParameter x1, EstimatedParameter y1,
@@ -243,15 +243,15 @@
   }
 
   public WeightedMeasurement[] getMeasurements() {
-    return measurements;
+    return (WeightedMeasurement[]) measurements.clone();
   }
 
   public EstimatedParameter[] getUnboundParameters() {
-    return unboundPars;
+    return (EstimatedParameter[]) unboundPars.clone();
   }
 
   public EstimatedParameter[] getAllParameters() {
-    return randomizedPars;
+    return (EstimatedParameter[]) randomizedPars.clone();
   }
 
   private EstimatedParameter[]  perfectPars;



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org