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 <gillese...@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>