This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch modularized_master in repository https://gitbox.apache.org/repos/asf/commons-math.git
commit 8df971ce64f013a5ae75a2ff3f430650271ef55c Author: Gilles Sadowski <gillese...@gmail.com> AuthorDate: Wed May 26 18:49:51 2021 +0200 Use functionality defined in "Commons Numbers". --- .../interpolation/UnivariatePeriodicInterpolator.java | 11 +++++++---- .../interpolation/UnivariatePeriodicInterpolatorTest.java | 10 ++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) 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 b0020cd..c89a5f0 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 @@ -16,6 +16,8 @@ */ package org.apache.commons.math4.legacy.analysis.interpolation; +import org.apache.commons.numbers.angle.Reduce; + import org.apache.commons.math4.legacy.analysis.UnivariateFunction; import org.apache.commons.math4.legacy.exception.MathIllegalArgumentException; import org.apache.commons.math4.legacy.exception.NonMonotonicSequenceException; @@ -91,24 +93,25 @@ public class UnivariatePeriodicInterpolator MathArrays.checkOrder(xval); final double offset = xval[0]; + final Reduce reduce = new Reduce(offset, period); final int len = xval.length + extend * 2; final double[] x = new double[len]; final double[] y = new double[len]; for (int i = 0; i < xval.length; i++) { final int index = i + extend; - x[index] = MathUtils.reduce(xval[i], period, offset); + x[index] = reduce.applyAsDouble(xval[i]); y[index] = yval[i]; } // Wrap to enable interpolation at the boundaries. for (int i = 0; i < extend; i++) { int index = xval.length - extend + i; - x[i] = MathUtils.reduce(xval[index], period, offset) - period; + x[i] = reduce.applyAsDouble(xval[index]) - period; y[i] = yval[index]; index = len - extend + i; - x[index] = MathUtils.reduce(xval[i], period, offset) + period; + x[index] = reduce.applyAsDouble(xval[i]) + period; y[index] = yval[i]; } @@ -119,7 +122,7 @@ public class UnivariatePeriodicInterpolator /** {@inheritDoc} */ @Override public double value(final double x) throws MathIllegalArgumentException { - return f.value(MathUtils.reduce(x, period, offset)); + return f.value(reduce.applyAsDouble(x)); } }; } diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolatorTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolatorTest.java index 1fb3449..5213f65 100644 --- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolatorTest.java +++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/analysis/interpolation/UnivariatePeriodicInterpolatorTest.java @@ -16,21 +16,23 @@ */ package org.apache.commons.math4.legacy.analysis.interpolation; -import java.util.Random; +import org.junit.Assert; +import org.junit.Test; + +import org.apache.commons.rng.UniformRandomProvider; +import org.apache.commons.rng.simple.RandomSource; import org.apache.commons.math4.legacy.analysis.UnivariateFunction; import org.apache.commons.math4.legacy.exception.NonMonotonicSequenceException; import org.apache.commons.math4.legacy.exception.NumberIsTooSmallException; import org.apache.commons.math4.legacy.util.FastMath; -import org.junit.Assert; -import org.junit.Test; /** * Test for {@link UnivariatePeriodicInterpolator}. */ public class UnivariatePeriodicInterpolatorTest { - private final Random rng = new Random(1224465L); + private final UniformRandomProvider rng = RandomSource.create(RandomSource.KISS); @Test public void testSine() {