You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/12/17 01:35:51 UTC
[commons-math] 01/04: Use "Arrays.copyOf" from JDK.
This is an automated email from the ASF dual-hosted git repository.
erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-math.git
commit ed6b06d02ff341a93d848fa34da23b9cb25c611f
Author: Gilles Sadowski <gi...@harfang.homelinux.org>
AuthorDate: Tue Dec 17 01:59:57 2019 +0100
Use "Arrays.copyOf" from JDK.
---
.../org/apache/commons/math4/analysis/function/StepFunction.java | 4 ++--
.../math4/distribution/MultivariateNormalDistribution.java | 6 +++---
.../MultivariateNormalMixtureExpectationMaximization.java | 2 +-
.../math4/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java | 7 +++----
.../math4/optim/nonlinear/scalar/noderiv/PowellOptimizer.java | 4 ++--
src/main/java/org/apache/commons/math4/special/BesselJ.java | 9 +++++----
.../apache/commons/math4/stat/descriptive/rank/Percentile.java | 2 +-
.../commons/math4/stat/inference/KolmogorovSmirnovTest.java | 8 ++++----
.../commons/math4/stat/regression/MillerUpdatingRegression.java | 5 ++---
.../apache/commons/math4/stat/regression/RegressionResults.java | 6 +++---
.../apache/commons/math4/transform/FastFourierTransformer.java | 4 ++--
11 files changed, 28 insertions(+), 29 deletions(-)
diff --git a/src/main/java/org/apache/commons/math4/analysis/function/StepFunction.java b/src/main/java/org/apache/commons/math4/analysis/function/StepFunction.java
index 08461cb..3c3e5ad 100644
--- a/src/main/java/org/apache/commons/math4/analysis/function/StepFunction.java
+++ b/src/main/java/org/apache/commons/math4/analysis/function/StepFunction.java
@@ -75,8 +75,8 @@ public class StepFunction implements UnivariateFunction {
}
MathArrays.checkOrder(x);
- abscissa = MathArrays.copyOf(x);
- ordinate = MathArrays.copyOf(y);
+ abscissa = Arrays.copyOf(x, x.length);
+ ordinate = Arrays.copyOf(y, y.length);
}
/** {@inheritDoc} */
diff --git a/src/main/java/org/apache/commons/math4/distribution/MultivariateNormalDistribution.java b/src/main/java/org/apache/commons/math4/distribution/MultivariateNormalDistribution.java
index 76046a8..0eb0d19 100644
--- a/src/main/java/org/apache/commons/math4/distribution/MultivariateNormalDistribution.java
+++ b/src/main/java/org/apache/commons/math4/distribution/MultivariateNormalDistribution.java
@@ -16,6 +16,7 @@
*/
package org.apache.commons.math4.distribution;
+import java.util.Arrays;
import org.apache.commons.statistics.distribution.ContinuousDistribution;
import org.apache.commons.statistics.distribution.NormalDistribution;
import org.apache.commons.math4.exception.DimensionMismatchException;
@@ -26,7 +27,6 @@ import org.apache.commons.math4.linear.RealMatrix;
import org.apache.commons.math4.linear.SingularMatrixException;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.MathArrays;
/**
* Implementation of the multivariate normal (Gaussian) distribution.
@@ -88,7 +88,7 @@ public class MultivariateNormalDistribution
}
}
- this.means = MathArrays.copyOf(means);
+ this.means = Arrays.copyOf(means, means.length);
covarianceMatrix = new Array2DRowRealMatrix(covariances);
@@ -135,7 +135,7 @@ public class MultivariateNormalDistribution
* @return the mean vector.
*/
public double[] getMeans() {
- return MathArrays.copyOf(means);
+ return Arrays.copyOf(means, means.length);
}
/**
diff --git a/src/main/java/org/apache/commons/math4/distribution/fitting/MultivariateNormalMixtureExpectationMaximization.java b/src/main/java/org/apache/commons/math4/distribution/fitting/MultivariateNormalMixtureExpectationMaximization.java
index 499a3df..7a7333b 100644
--- a/src/main/java/org/apache/commons/math4/distribution/fitting/MultivariateNormalMixtureExpectationMaximization.java
+++ b/src/main/java/org/apache/commons/math4/distribution/fitting/MultivariateNormalMixtureExpectationMaximization.java
@@ -103,7 +103,7 @@ public class MultivariateNormalMixtureExpectationMaximization {
throw new NumberIsTooSmallException(LocalizedFormats.NUMBER_TOO_SMALL,
data[i].length, 2, true);
}
- this.data[i] = MathArrays.copyOf(data[i], data[i].length);
+ this.data[i] = Arrays.copyOf(data[i], data[i].length);
}
}
diff --git a/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java b/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java
index d207845..ffc2dd4 100644
--- a/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java
+++ b/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java
@@ -39,7 +39,6 @@ import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.statistics.distribution.ContinuousDistribution;
import org.apache.commons.statistics.distribution.NormalDistribution;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.MathArrays;
/**
* An implementation of the active Covariance Matrix Adaptation Evolution Strategy (CMA-ES)
@@ -433,9 +432,9 @@ public class CMAESOptimizer
final int[] arindex = sortedIndices(fitness);
// Calculate new xmean, this is selection and recombination
final RealMatrix xold = xmean; // for speed up of Eq. (2) and (3)
- final RealMatrix bestArx = selectColumns(arx, MathArrays.copyOf(arindex, mu));
+ final RealMatrix bestArx = selectColumns(arx, Arrays.copyOf(arindex, mu));
xmean = bestArx.multiply(weights);
- final RealMatrix bestArz = selectColumns(arz, MathArrays.copyOf(arindex, mu));
+ final RealMatrix bestArz = selectColumns(arz, Arrays.copyOf(arindex, mu));
final RealMatrix zmean = bestArz.multiply(weights);
final boolean hsig = updateEvolutionPaths(zmean, xold);
if (diagonalOnly <= 0) {
@@ -731,7 +730,7 @@ public class CMAESOptimizer
final double negalphaold = 0.5;
// prepare vectors, compute negative updating matrix Cneg
final int[] arReverseIndex = reverse(arindex);
- RealMatrix arzneg = selectColumns(arz, MathArrays.copyOf(arReverseIndex, mu));
+ RealMatrix arzneg = selectColumns(arz, Arrays.copyOf(arReverseIndex, mu));
RealMatrix arnorms = sqrt(sumRows(square(arzneg)));
final int[] idxnorms = sortedIndices(arnorms.getRow(0));
final RealMatrix arnormsSorted = selectColumns(arnorms, idxnorms);
diff --git a/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/PowellOptimizer.java b/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/PowellOptimizer.java
index f4d5fed..e4f7ef6 100644
--- a/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/PowellOptimizer.java
+++ b/src/main/java/org/apache/commons/math4/optim/nonlinear/scalar/noderiv/PowellOptimizer.java
@@ -16,6 +16,7 @@
*/
package org.apache.commons.math4.optim.nonlinear.scalar.noderiv;
+import java.util.Arrays;
import org.apache.commons.math4.exception.MathUnsupportedOperationException;
import org.apache.commons.math4.exception.NotStrictlyPositiveException;
import org.apache.commons.math4.exception.NumberIsTooSmallException;
@@ -27,7 +28,6 @@ import org.apache.commons.math4.optim.nonlinear.scalar.LineSearch;
import org.apache.commons.math4.optim.nonlinear.scalar.MultivariateOptimizer;
import org.apache.commons.math4.optim.univariate.UnivariatePointValuePair;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.MathArrays;
/**
* Powell's algorithm.
@@ -192,7 +192,7 @@ public class PowellOptimizer
double alphaMin = 0;
for (int i = 0; i < n; i++) {
- final double[] d = MathArrays.copyOf(direc[i]);
+ final double[] d = Arrays.copyOf(direc[i], direc[i].length);
fX2 = fVal;
diff --git a/src/main/java/org/apache/commons/math4/special/BesselJ.java b/src/main/java/org/apache/commons/math4/special/BesselJ.java
index 0e25eff..d91bc8b 100644
--- a/src/main/java/org/apache/commons/math4/special/BesselJ.java
+++ b/src/main/java/org/apache/commons/math4/special/BesselJ.java
@@ -17,6 +17,7 @@
package org.apache.commons.math4.special;
+import java.util.Arrays;
import org.apache.commons.numbers.gamma.Gamma;
import org.apache.commons.math4.analysis.UnivariateFunction;
import org.apache.commons.math4.exception.ConvergenceException;
@@ -205,7 +206,7 @@ public class BesselJ
* @param n count of valid values
*/
public BesselJResult(double[] b, int n) {
- vals = MathArrays.copyOf(b, b.length);
+ vals = Arrays.copyOf(b, b.length);
nVals = n;
}
@@ -213,7 +214,7 @@ public class BesselJ
* @return the computed function values
*/
public double[] getVals() {
- return MathArrays.copyOf(vals, vals.length);
+ return Arrays.copyOf(vals, vals.length);
}
/**
@@ -373,7 +374,7 @@ public class BesselJ
capq = (capq + 1) * ((gnu * gnu) - 1) * (0.125 / x);
b[i - 1] = xc * (capp * vcos - capq * vsin);
if (nb == 1) {
- return new BesselJResult(MathArrays.copyOf(b, b.length),
+ return new BesselJResult(Arrays.copyOf(b, b.length),
ncalc);
}
t = vsin;
@@ -644,6 +645,6 @@ public class BesselJ
}
ncalc = FastMath.min(nb, 0) - 1;
}
- return new BesselJResult(MathArrays.copyOf(b, b.length), ncalc);
+ return new BesselJResult(Arrays.copyOf(b, b.length), ncalc);
}
}
diff --git a/src/main/java/org/apache/commons/math4/stat/descriptive/rank/Percentile.java b/src/main/java/org/apache/commons/math4/stat/descriptive/rank/Percentile.java
index c05d782..2015d7c 100644
--- a/src/main/java/org/apache/commons/math4/stat/descriptive/rank/Percentile.java
+++ b/src/main/java/org/apache/commons/math4/stat/descriptive/rank/Percentile.java
@@ -434,7 +434,7 @@ public class Percentile extends AbstractUnivariateStatistic implements Serializa
*/
private static double[] copyOf(final double[] values, final int begin, final int length) {
MathArrays.verifyValues(values, begin, length);
- return MathArrays.copyOfRange(values, begin, begin + length);
+ return Arrays.copyOfRange(values, begin, begin + length);
}
/**
diff --git a/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java b/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
index 18dbf8c..d62371a 100644
--- a/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
+++ b/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
@@ -207,8 +207,8 @@ public class KolmogorovSmirnovTest {
double[] xa = null;
double[] ya = null;
if (lengthProduct < LARGE_SAMPLE_PRODUCT && hasTies(x,y)) {
- xa = MathArrays.copyOf(x);
- ya = MathArrays.copyOf(y);
+ xa = Arrays.copyOf(x, x.length);
+ ya = Arrays.copyOf(y, y.length);
fixTies(xa, ya);
} else {
xa = x;
@@ -276,8 +276,8 @@ public class KolmogorovSmirnovTest {
checkArray(x);
checkArray(y);
// Copy and sort the sample arrays
- final double[] sx = MathArrays.copyOf(x);
- final double[] sy = MathArrays.copyOf(y);
+ final double[] sx = Arrays.copyOf(x, x.length);
+ final double[] sy = Arrays.copyOf(y, y.length);
Arrays.sort(sx);
Arrays.sort(sy);
final int n = sx.length;
diff --git a/src/main/java/org/apache/commons/math4/stat/regression/MillerUpdatingRegression.java b/src/main/java/org/apache/commons/math4/stat/regression/MillerUpdatingRegression.java
index e3b563b..c35d629 100644
--- a/src/main/java/org/apache/commons/math4/stat/regression/MillerUpdatingRegression.java
+++ b/src/main/java/org/apache/commons/math4/stat/regression/MillerUpdatingRegression.java
@@ -20,7 +20,6 @@ import java.util.Arrays;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.numbers.core.Precision;
/**
@@ -176,7 +175,7 @@ public class MillerUpdatingRegression implements UpdatingMultipleLinearRegressio
x.length, nvars);
}
if (!this.hasIntercept) {
- include(MathArrays.copyOf(x, x.length), 1.0, y);
+ include(Arrays.copyOf(x, x.length), 1.0, y);
} else {
final double[] tmp = new double[x.length + 1];
System.arraycopy(x, 0, tmp, 1, x.length);
@@ -897,7 +896,7 @@ public class MillerUpdatingRegression implements UpdatingMultipleLinearRegressio
* @return int[] with the current order of the regressors
*/
public int[] getOrderOfRegressors(){
- return MathArrays.copyOf(vorder);
+ return Arrays.copyOf(vorder, vorder.length);
}
/**
diff --git a/src/main/java/org/apache/commons/math4/stat/regression/RegressionResults.java b/src/main/java/org/apache/commons/math4/stat/regression/RegressionResults.java
index 8a2a7fa..28e05fc 100644
--- a/src/main/java/org/apache/commons/math4/stat/regression/RegressionResults.java
+++ b/src/main/java/org/apache/commons/math4/stat/regression/RegressionResults.java
@@ -98,10 +98,10 @@ public class RegressionResults implements Serializable {
final boolean containsConstant,
final boolean copyData) {
if (copyData) {
- this.parameters = MathArrays.copyOf(parameters);
+ this.parameters = Arrays.copyOf(parameters, parameters.length);
this.varCovData = new double[varcov.length][];
for (int i = 0; i < varcov.length; i++) {
- this.varCovData[i] = MathArrays.copyOf(varcov[i]);
+ this.varCovData[i] = Arrays.copyOf(varcov[i], varcov[i].length);
}
} else {
this.parameters = parameters;
@@ -171,7 +171,7 @@ public class RegressionResults implements Serializable {
if (this.parameters == null) {
return null;
}
- return MathArrays.copyOf(parameters);
+ return Arrays.copyOf(parameters, parameters.length);
}
/**
diff --git a/src/main/java/org/apache/commons/math4/transform/FastFourierTransformer.java b/src/main/java/org/apache/commons/math4/transform/FastFourierTransformer.java
index bd97ea8..2f69580 100644
--- a/src/main/java/org/apache/commons/math4/transform/FastFourierTransformer.java
+++ b/src/main/java/org/apache/commons/math4/transform/FastFourierTransformer.java
@@ -17,6 +17,7 @@
package org.apache.commons.math4.transform;
import java.io.Serializable;
+import java.util.Arrays;
import org.apache.commons.numbers.complex.Complex;
import org.apache.commons.numbers.core.ArithmeticUtils;
import org.apache.commons.math4.analysis.FunctionUtils;
@@ -26,7 +27,6 @@ import org.apache.commons.math4.exception.MathIllegalArgumentException;
import org.apache.commons.math4.exception.MathIllegalStateException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.MathArrays;
/**
* Implements the Fast Fourier Transform for transformation of one-dimensional
@@ -365,7 +365,7 @@ public class FastFourierTransformer implements Serializable {
*/
public Complex[] transform(final double[] f, final TransformType type) {
final double[][] dataRI = new double[][] {
- MathArrays.copyOf(f, f.length), new double[f.length]
+ Arrays.copyOf(f, f.length), new double[f.length]
};
transformInPlace(dataRI, normalization, type);