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>