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 2021/06/17 13:24:34 UTC
[commons-math] 01/02: Use functionality defined in "Commons
Numbers".
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 a1f2a98c28b400a01142147816a1b298e86e60bb
Author: Gilles Sadowski <gi...@gmail.com>
AuthorDate: Thu Jun 17 15:13:34 2021 +0200
Use functionality defined in "Commons Numbers".
---
commons-math-legacy/pom.xml | 5 +++++
.../analysis/interpolation/UnivariatePeriodicInterpolator.java | 4 ++--
.../legacy/analysis/polynomials/PolynomialFunctionLagrangeForm.java | 6 ++++--
.../math4/legacy/stat/descriptive/rank/PSquarePercentile.java | 5 +++--
.../commons/math4/legacy/stat/descriptive/rank/Percentile.java | 5 +++--
pom.xml | 6 ++++++
6 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/commons-math-legacy/pom.xml b/commons-math-legacy/pom.xml
index 921fc31..a806843 100644
--- a/commons-math-legacy/pom.xml
+++ b/commons-math-legacy/pom.xml
@@ -91,6 +91,11 @@
<dependency>
<groupId>org.apache.commons</groupId>
+ <artifactId>commons-numbers-arrays</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
<artifactId>commons-rng-client-api</artifactId>
</dependency>
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolator.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolator.java
index ee1618a..ef3122a 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolator.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolator.java
@@ -17,7 +17,7 @@
package org.apache.commons.math4.legacy.analysis.interpolation;
import org.apache.commons.numbers.angle.Reduce;
-
+import org.apache.commons.numbers.arrays.SortInPlace;
import org.apache.commons.math4.legacy.analysis.UnivariateFunction;
import org.apache.commons.math4.legacy.exception.MathIllegalArgumentException;
import org.apache.commons.math4.legacy.exception.NonMonotonicSequenceException;
@@ -114,7 +114,7 @@ public class UnivariatePeriodicInterpolator
y[index] = yval[i];
}
- MathArrays.sortInPlace(x, y);
+ SortInPlace.ASCENDING.accept(x, y);
final UnivariateFunction f = interpolator.interpolate(x, y);
return new UnivariateFunction() {
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunctionLagrangeForm.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunctionLagrangeForm.java
index e376e2f..57af1ab 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunctionLagrangeForm.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunctionLagrangeForm.java
@@ -16,6 +16,8 @@
*/
package org.apache.commons.math4.legacy.analysis.polynomials;
+import org.apache.commons.numbers.core.Precision;
+import org.apache.commons.numbers.arrays.SortInPlace;
import org.apache.commons.math4.legacy.analysis.UnivariateFunction;
import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
import org.apache.commons.math4.legacy.exception.NonMonotonicSequenceException;
@@ -77,7 +79,7 @@ public class PolynomialFunctionLagrangeForm implements UnivariateFunction {
coefficientsComputed = false;
if (!verifyInterpolationArray(x, y, false)) {
- MathArrays.sortInPlace(this.x, this.y);
+ SortInPlace.ASCENDING.accept(this.x, this.y);
// Second check in case some abscissa is duplicated.
verifyInterpolationArray(this.x, this.y, true);
}
@@ -182,7 +184,7 @@ public class PolynomialFunctionLagrangeForm implements UnivariateFunction {
System.arraycopy(x, 0, xNew, 0, x.length);
System.arraycopy(y, 0, yNew, 0, y.length);
- MathArrays.sortInPlace(xNew, yNew);
+ SortInPlace.ASCENDING.accept(xNew, yNew);
// Second check in case some abscissa is duplicated.
verifyInterpolationArray(xNew, yNew, true);
return evaluateInternal(xNew, yNew, z);
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/PSquarePercentile.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/PSquarePercentile.java
index 29a54c6..2d67afc 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/PSquarePercentile.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/PSquarePercentile.java
@@ -26,6 +26,8 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import org.apache.commons.numbers.core.Precision;
+import org.apache.commons.numbers.arrays.SortInPlace;
import org.apache.commons.math4.legacy.analysis.UnivariateFunction;
import org.apache.commons.math4.legacy.analysis.interpolation.LinearInterpolator;
import org.apache.commons.math4.legacy.analysis.interpolation.NevilleInterpolator;
@@ -37,7 +39,6 @@ import org.apache.commons.math4.legacy.exception.util.LocalizedFormats;
import org.apache.commons.math4.legacy.stat.descriptive.AbstractStorelessUnivariateStatistic;
import org.apache.commons.math4.legacy.stat.descriptive.StorelessUnivariateStatistic;
import org.apache.commons.math4.legacy.core.MathArrays;
-import org.apache.commons.numbers.core.Precision;
/**
* A {@link StorelessUnivariateStatistic} estimating percentiles using the
@@ -767,7 +768,7 @@ public class PSquarePercentile extends AbstractStorelessUnivariateStatistic
new double[] { xval[1], xval[1 + delta] };
final double[] yBad =
new double[] { yval[1], yval[1 + delta] };
- MathArrays.sortInPlace(xBad, yBad);// since d can be +/- 1
+ SortInPlace.ASCENDING.accept(xBad, yBad);// since d can be +/- 1
univariateFunction = linear.interpolate(xBad, yBad);
markerHeight = univariateFunction.value(xD);
}
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/Percentile.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/Percentile.java
index 34fef44..301c74b 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/Percentile.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/descriptive/rank/Percentile.java
@@ -20,6 +20,8 @@ import java.io.Serializable;
import java.util.Arrays;
import java.util.BitSet;
+import org.apache.commons.numbers.core.Precision;
+import org.apache.commons.numbers.arrays.SortInPlace;
import org.apache.commons.math4.legacy.exception.NullArgumentException;
import org.apache.commons.math4.legacy.exception.MathIllegalArgumentException;
import org.apache.commons.math4.legacy.exception.NotPositiveException;
@@ -30,7 +32,6 @@ import org.apache.commons.math4.legacy.stat.descriptive.AbstractUnivariateStatis
import org.apache.commons.math4.legacy.stat.ranking.NaNStrategy;
import org.apache.commons.math4.legacy.core.jdkmath.AccurateMath;
import org.apache.commons.math4.legacy.core.MathArrays;
-import org.apache.commons.numbers.core.Precision;
/**
* Provides percentile computation.
@@ -1149,7 +1150,7 @@ public class Percentile extends AbstractUnivariateStatistic implements Serializa
@Override
public double evaluate(final double[] work, final double[] sampleWeights,
final double p) {
- MathArrays.sortInPlace(work, sampleWeights);
+ SortInPlace.ASCENDING.accept(work, sampleWeights);
double[] sk = new double[work.length];
for(int k = 0; k < work.length; k++) {
sk[k] = 0;
diff --git a/pom.xml b/pom.xml
index a5324be..2c92cd3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -216,6 +216,12 @@
<dependency>
<groupId>org.apache.commons</groupId>
+ <artifactId>commons-numbers-arrays</artifactId>
+ <version>${math.commons.numbers.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
<artifactId>commons-rng-client-api</artifactId>
<version>${math.commons.rng.version}</version>
</dependency>