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 2017/05/03 23:28:13 UTC
[4/4] [math] MATH-1416: Depend on "Commons Numbers".
MATH-1416: Depend on "Commons Numbers".
Replaced class "Precision" by its equivalent in module "commons-numbers-core".
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/e082e0c4
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/e082e0c4
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/e082e0c4
Branch: refs/heads/master
Commit: e082e0c48ed611ce3aca949cb47d0e96c35788ef
Parents: ef2507a
Author: Gilles <er...@apache.org>
Authored: Thu May 4 01:19:44 2017 +0200
Committer: Gilles <er...@apache.org>
Committed: Thu May 4 01:19:44 2017 +0200
----------------------------------------------------------------------
.../differentiation/SparseGradient.java | 2 +-
.../math4/analysis/function/Gaussian.java | 2 +-
.../BaseAbstractUnivariateIntegrator.java | 2 +-
.../interpolation/AkimaSplineInterpolator.java | 2 +-
.../solvers/BracketingNthOrderBrentSolver.java | 2 +-
.../math4/analysis/solvers/BrentSolver.java | 2 +-
.../FieldBracketingNthOrderBrentSolver.java | 2 +-
.../apache/commons/math4/complex/Complex.java | 6 +-
.../commons/math4/complex/Quaternion.java | 2 +-
.../leastsquares/EvaluationRmsChecker.java | 2 +-
.../LevenbergMarquardtOptimizer.java | 2 +-
.../geometry/euclidean/oned/IntervalsSet.java | 2 +-
.../math4/geometry/euclidean/threed/Line.java | 2 +-
.../geometry/euclidean/twod/PolygonsSet.java | 2 +-
.../euclidean/twod/hull/ConvexHull2D.java | 2 +-
.../euclidean/twod/hull/MonotoneChain.java | 2 +-
.../math4/geometry/spherical/oned/Arc.java | 2 +-
.../math4/geometry/spherical/oned/ArcsSet.java | 2 +-
.../commons/math4/linear/DiagonalMatrix.java | 2 +-
.../math4/linear/EigenDecomposition.java | 2 +-
.../math4/linear/HessenbergTransformer.java | 2 +-
.../commons/math4/linear/MatrixUtils.java | 2 +-
.../commons/math4/linear/SchurTransformer.java | 2 +-
.../linear/SingularValueDecomposition.java | 2 +-
.../commons/math4/ml/neuralnet/Neuron.java | 2 +-
.../commons/math4/ode/AbstractIntegrator.java | 2 +-
.../commons/math4/ode/events/FilterType.java | 4 +-
.../commons/math4/ode/events/Transformer.java | 2 +-
.../math4/ode/sampling/FieldStepNormalizer.java | 2 +-
.../math4/ode/sampling/StepNormalizer.java | 2 +-
.../math4/optim/linear/SimplexSolver.java | 2 +-
.../math4/optim/linear/SimplexTableau.java | 2 +-
.../math4/optim/univariate/BrentOptimizer.java | 2 +-
.../AbstractStorelessUnivariateStatistic.java | 2 +-
.../MultivariateSummaryStatistics.java | 2 +-
.../descriptive/StatisticalSummaryValues.java | 2 +-
.../stat/descriptive/SummaryStatistics.java | 2 +-
.../descriptive/rank/PSquarePercentile.java | 2 +-
.../math4/stat/descriptive/rank/Percentile.java | 2 +-
.../regression/MillerUpdatingRegression.java | 2 +-
.../math4/stat/regression/SimpleRegression.java | 2 +-
.../commons/math4/util/ContinuedFraction.java | 1 +
.../org/apache/commons/math4/util/FastMath.java | 1 +
.../apache/commons/math4/util/MathArrays.java | 1 +
.../apache/commons/math4/util/Precision.java | 608 -------------------
.../org/apache/commons/math4/TestUtils.java | 2 +-
.../DerivativeStructureTest.java | 2 +-
.../function/HarmonicOscillatorTest.java | 2 +-
.../AkimaSplineInterpolatorTest.java | 2 +-
.../BicubicInterpolatingFunctionTest.java | 2 +-
...eBicubicSplineInterpolatingFunctionTest.java | 2 +-
.../TricubicInterpolatingFunctionTest.java | 2 +-
.../polynomials/PolynomialsUtilsTest.java | 2 +-
.../org/apache/commons/math4/dfp/DfpTest.java | 2 +-
.../ExponentialDistributionTest.java | 2 +-
.../distribution/GumbelDistributionTest.java | 2 +-
.../HypergeometricDistributionTest.java | 2 +-
.../distribution/LaplaceDistributionTest.java | 2 +-
.../distribution/LevyDistributionTest.java | 2 +-
.../distribution/LogisticsDistributionTest.java | 2 +-
.../distribution/NakagamiDistributionTest.java | 2 +-
.../UniformIntegerDistributionTest.java | 2 +-
.../commons/math4/filter/KalmanFilterTest.java | 2 +-
.../fitting/WeightedObservedPointsTest.java | 2 +-
.../fitting/leastsquares/EvaluationTest.java | 2 +-
.../LevenbergMarquardtOptimizerTest.java | 2 +-
.../geometry/euclidean/oned/IntervalTest.java | 2 +-
.../euclidean/oned/IntervalsSetTest.java | 2 +-
.../geometry/euclidean/oned/Vector1DTest.java | 2 +-
.../euclidean/threed/FieldVector3DTest.java | 2 +-
.../geometry/euclidean/threed/PLYParser.java | 2 +-
.../geometry/euclidean/threed/Vector3DTest.java | 2 +-
.../hull/ConvexHullGenerator2DAbstractTest.java | 2 +-
.../math4/geometry/spherical/oned/ArcTest.java | 2 +-
.../geometry/spherical/oned/ArcsSetTest.java | 2 +-
.../math4/linear/DiagonalMatrixTest.java | 2 +-
.../math4/linear/EigenDecompositionTest.java | 2 +-
.../commons/math4/linear/EigenSolverTest.java | 2 +-
.../math4/optim/linear/SimplexSolverTest.java | 2 +-
.../commons/math4/stat/StatUtilsTest.java | 2 +-
.../AggregateSummaryStatisticsTest.java | 2 +-
.../descriptive/DescriptiveStatisticsTest.java | 2 +-
.../transform/FastHadamardTransformerTest.java | 2 +-
.../util/FastMathStrictComparisonTest.java | 2 +-
.../apache/commons/math4/util/FastMathTest.java | 1 +
.../commons/math4/util/MathArraysTest.java | 2 +-
.../math4/util/OpenIntToDoubleHashMapTest.java | 2 +-
.../commons/math4/util/PrecisionTest.java | 553 -----------------
.../userguide/genetics/HelloWorldExample.java | 2 +-
89 files changed, 90 insertions(+), 1247 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/analysis/differentiation/SparseGradient.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/analysis/differentiation/SparseGradient.java b/src/main/java/org/apache/commons/math4/analysis/differentiation/SparseGradient.java
index 643a975..c642fed 100644
--- a/src/main/java/org/apache/commons/math4/analysis/differentiation/SparseGradient.java
+++ b/src/main/java/org/apache/commons/math4/analysis/differentiation/SparseGradient.java
@@ -28,7 +28,7 @@ import org.apache.commons.math4.exception.DimensionMismatchException;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* First derivative computation with large number of variables.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/analysis/function/Gaussian.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/analysis/function/Gaussian.java b/src/main/java/org/apache/commons/math4/analysis/function/Gaussian.java
index e703ed3..08dcac0 100644
--- a/src/main/java/org/apache/commons/math4/analysis/function/Gaussian.java
+++ b/src/main/java/org/apache/commons/math4/analysis/function/Gaussian.java
@@ -26,7 +26,7 @@ import org.apache.commons.math4.exception.DimensionMismatchException;
import org.apache.commons.math4.exception.NotStrictlyPositiveException;
import org.apache.commons.math4.exception.NullArgumentException;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* <a href="http://en.wikipedia.org/wiki/Gaussian_function">
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/analysis/integration/BaseAbstractUnivariateIntegrator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/analysis/integration/BaseAbstractUnivariateIntegrator.java b/src/main/java/org/apache/commons/math4/analysis/integration/BaseAbstractUnivariateIntegrator.java
index db1bfd5..595f18f 100644
--- a/src/main/java/org/apache/commons/math4/analysis/integration/BaseAbstractUnivariateIntegrator.java
+++ b/src/main/java/org/apache/commons/math4/analysis/integration/BaseAbstractUnivariateIntegrator.java
@@ -80,7 +80,7 @@ public abstract class BaseAbstractUnivariateIntegrator implements UnivariateInte
* achieved due to large values or short mantissa length. If this
* should be the primary criterion for convergence rather then a
* safety measure, set the absolute accuracy to a ridiculously small value,
- * like {@link org.apache.commons.math4.util.Precision#SAFE_MIN Precision.SAFE_MIN}.</li>
+ * like {@link org.apache.commons.numbers.core.Precision#SAFE_MIN Precision.SAFE_MIN}.</li>
* <li>absolute accuracy:
* The default is usually chosen so that results in the interval
* -10..-0.1 and +0.1..+10 can be found with a reasonable accuracy. If the
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolator.java b/src/main/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolator.java
index 100b927..089a7ac 100644
--- a/src/main/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolator.java
+++ b/src/main/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolator.java
@@ -25,7 +25,7 @@ import org.apache.commons.math4.exception.NumberIsTooSmallException;
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.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Computes a cubic spline interpolation for the data set using the Akima
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.java b/src/main/java/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.java
index e519f02..8a185bb 100644
--- a/src/main/java/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.java
+++ b/src/main/java/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.java
@@ -24,7 +24,7 @@ import org.apache.commons.math4.exception.NumberIsTooLargeException;
import org.apache.commons.math4.exception.NumberIsTooSmallException;
import org.apache.commons.math4.exception.TooManyEvaluationsException;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class implements a modification of the <a
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/analysis/solvers/BrentSolver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/analysis/solvers/BrentSolver.java b/src/main/java/org/apache/commons/math4/analysis/solvers/BrentSolver.java
index 3b9f322..9e1e551 100644
--- a/src/main/java/org/apache/commons/math4/analysis/solvers/BrentSolver.java
+++ b/src/main/java/org/apache/commons/math4/analysis/solvers/BrentSolver.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.exception.NoBracketingException;
import org.apache.commons.math4.exception.NumberIsTooLargeException;
import org.apache.commons.math4.exception.TooManyEvaluationsException;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class implements the <a href="http://mathworld.wolfram.com/BrentsMethod.html">
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/analysis/solvers/FieldBracketingNthOrderBrentSolver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/analysis/solvers/FieldBracketingNthOrderBrentSolver.java b/src/main/java/org/apache/commons/math4/analysis/solvers/FieldBracketingNthOrderBrentSolver.java
index 75871f3..9b902fd 100644
--- a/src/main/java/org/apache/commons/math4/analysis/solvers/FieldBracketingNthOrderBrentSolver.java
+++ b/src/main/java/org/apache/commons/math4/analysis/solvers/FieldBracketingNthOrderBrentSolver.java
@@ -27,7 +27,7 @@ import org.apache.commons.math4.exception.NumberIsTooSmallException;
import org.apache.commons.math4.util.IntegerSequence;
import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class implements a modification of the <a
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/complex/Complex.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/complex/Complex.java b/src/main/java/org/apache/commons/math4/complex/Complex.java
index 48b17fc..f283397 100644
--- a/src/main/java/org/apache/commons/math4/complex/Complex.java
+++ b/src/main/java/org/apache/commons/math4/complex/Complex.java
@@ -27,7 +27,7 @@ import org.apache.commons.math4.exception.NullArgumentException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Representation of a Complex number, i.e. a number which has both a
@@ -46,8 +46,8 @@ import org.apache.commons.math4.util.Precision;
* Note that this contradicts the IEEE-754 standard for floating
* point numbers (according to which the test {@code x == x} must fail if
* {@code x} is {@code NaN}). The method
- * {@link org.apache.commons.math4.util.Precision#equals(double,double,int)
- * equals for primitive double} in {@link org.apache.commons.math4.util.Precision}
+ * {@link org.apache.commons.numbers.core.Precision#equals(double,double,int)
+ * equals for primitive double} in {@link org.apache.commons.numbers.core.Precision}
* conforms with IEEE-754 while this class conforms with the standard behavior
* for Java object types.</p>
*
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/complex/Quaternion.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/complex/Quaternion.java b/src/main/java/org/apache/commons/math4/complex/Quaternion.java
index 505b64e..0394d18 100644
--- a/src/main/java/org/apache/commons/math4/complex/Quaternion.java
+++ b/src/main/java/org/apache/commons/math4/complex/Quaternion.java
@@ -24,7 +24,7 @@ import org.apache.commons.math4.exception.ZeroException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class implements <a href="http://mathworld.wolfram.com/Quaternion.html">
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/fitting/leastsquares/EvaluationRmsChecker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/fitting/leastsquares/EvaluationRmsChecker.java b/src/main/java/org/apache/commons/math4/fitting/leastsquares/EvaluationRmsChecker.java
index 86b8463..3872323 100644
--- a/src/main/java/org/apache/commons/math4/fitting/leastsquares/EvaluationRmsChecker.java
+++ b/src/main/java/org/apache/commons/math4/fitting/leastsquares/EvaluationRmsChecker.java
@@ -18,7 +18,7 @@ package org.apache.commons.math4.fitting.leastsquares;
import org.apache.commons.math4.fitting.leastsquares.LeastSquaresProblem.Evaluation;
import org.apache.commons.math4.optim.ConvergenceChecker;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Check if an optimization has converged based on the change in computed RMS.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.java b/src/main/java/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.java
index c7a721a..9e256d1 100644
--- a/src/main/java/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.java
+++ b/src/main/java/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.java
@@ -26,7 +26,7 @@ import org.apache.commons.math4.linear.RealMatrix;
import org.apache.commons.math4.optim.ConvergenceChecker;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.Incrementor;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/geometry/euclidean/oned/IntervalsSet.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/geometry/euclidean/oned/IntervalsSet.java b/src/main/java/org/apache/commons/math4/geometry/euclidean/oned/IntervalsSet.java
index 1b58cd9..7282da5 100644
--- a/src/main/java/org/apache/commons/math4/geometry/euclidean/oned/IntervalsSet.java
+++ b/src/main/java/org/apache/commons/math4/geometry/euclidean/oned/IntervalsSet.java
@@ -27,7 +27,7 @@ import org.apache.commons.math4.geometry.partitioning.AbstractRegion;
import org.apache.commons.math4.geometry.partitioning.BSPTree;
import org.apache.commons.math4.geometry.partitioning.BoundaryProjection;
import org.apache.commons.math4.geometry.partitioning.SubHyperplane;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/** This class represents a 1D region: a set of intervals.
* @since 3.0
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/geometry/euclidean/threed/Line.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/geometry/euclidean/threed/Line.java b/src/main/java/org/apache/commons/math4/geometry/euclidean/threed/Line.java
index 3173ac2..6b14f6e 100644
--- a/src/main/java/org/apache/commons/math4/geometry/euclidean/threed/Line.java
+++ b/src/main/java/org/apache/commons/math4/geometry/euclidean/threed/Line.java
@@ -25,7 +25,7 @@ import org.apache.commons.math4.geometry.euclidean.oned.IntervalsSet;
import org.apache.commons.math4.geometry.euclidean.oned.Vector1D;
import org.apache.commons.math4.geometry.partitioning.Embedding;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/** The class represent lines in a three dimensional space.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/PolygonsSet.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/PolygonsSet.java b/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/PolygonsSet.java
index 38b94f4..b006e32 100644
--- a/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/PolygonsSet.java
+++ b/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/PolygonsSet.java
@@ -34,7 +34,7 @@ import org.apache.commons.math4.geometry.partitioning.Hyperplane;
import org.apache.commons.math4.geometry.partitioning.Side;
import org.apache.commons.math4.geometry.partitioning.SubHyperplane;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/** This class represents a 2D region: a set of polygons.
* @since 3.0
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/ConvexHull2D.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/ConvexHull2D.java b/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/ConvexHull2D.java
index 7356da1..86076ba 100644
--- a/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/ConvexHull2D.java
+++ b/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/ConvexHull2D.java
@@ -29,7 +29,7 @@ import org.apache.commons.math4.geometry.hull.ConvexHull;
import org.apache.commons.math4.geometry.partitioning.Region;
import org.apache.commons.math4.geometry.partitioning.RegionFactory;
import org.apache.commons.math4.util.MathArrays;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class represents a convex hull in an two-dimensional euclidean space.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/MonotoneChain.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/MonotoneChain.java b/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/MonotoneChain.java
index 5746c7f..8497da1 100644
--- a/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/MonotoneChain.java
+++ b/src/main/java/org/apache/commons/math4/geometry/euclidean/twod/hull/MonotoneChain.java
@@ -25,7 +25,7 @@ import java.util.List;
import org.apache.commons.math4.geometry.euclidean.twod.Line;
import org.apache.commons.math4.geometry.euclidean.twod.Vector2D;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Implements Andrew's monotone chain method to generate the convex hull of a finite set of
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/geometry/spherical/oned/Arc.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/geometry/spherical/oned/Arc.java b/src/main/java/org/apache/commons/math4/geometry/spherical/oned/Arc.java
index b175250..84c6c5c 100644
--- a/src/main/java/org/apache/commons/math4/geometry/spherical/oned/Arc.java
+++ b/src/main/java/org/apache/commons/math4/geometry/spherical/oned/Arc.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.geometry.partitioning.Region.Location;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/** This class represents an arc on a circle.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/geometry/spherical/oned/ArcsSet.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/geometry/spherical/oned/ArcsSet.java b/src/main/java/org/apache/commons/math4/geometry/spherical/oned/ArcsSet.java
index bc1e390..3e33c81 100644
--- a/src/main/java/org/apache/commons/math4/geometry/spherical/oned/ArcsSet.java
+++ b/src/main/java/org/apache/commons/math4/geometry/spherical/oned/ArcsSet.java
@@ -34,7 +34,7 @@ import org.apache.commons.math4.geometry.partitioning.Side;
import org.apache.commons.math4.geometry.partitioning.SubHyperplane;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/** This class represents a region of a circle: a set of arcs.
* <p>
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/linear/DiagonalMatrix.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/linear/DiagonalMatrix.java b/src/main/java/org/apache/commons/math4/linear/DiagonalMatrix.java
index 56ab4b2..1b35204 100644
--- a/src/main/java/org/apache/commons/math4/linear/DiagonalMatrix.java
+++ b/src/main/java/org/apache/commons/math4/linear/DiagonalMatrix.java
@@ -25,7 +25,7 @@ import org.apache.commons.math4.exception.NumberIsTooLargeException;
import org.apache.commons.math4.exception.OutOfRangeException;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Implementation of a diagonal matrix.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/linear/EigenDecomposition.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/linear/EigenDecomposition.java b/src/main/java/org/apache/commons/math4/linear/EigenDecomposition.java
index f9afeb7..75e9614 100644
--- a/src/main/java/org/apache/commons/math4/linear/EigenDecomposition.java
+++ b/src/main/java/org/apache/commons/math4/linear/EigenDecomposition.java
@@ -24,7 +24,7 @@ import org.apache.commons.math4.exception.MathUnsupportedOperationException;
import org.apache.commons.math4.exception.MaxCountExceededException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Calculates the eigen decomposition of a real matrix.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/linear/HessenbergTransformer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/linear/HessenbergTransformer.java b/src/main/java/org/apache/commons/math4/linear/HessenbergTransformer.java
index e7bf442..c10c41a 100644
--- a/src/main/java/org/apache/commons/math4/linear/HessenbergTransformer.java
+++ b/src/main/java/org/apache/commons/math4/linear/HessenbergTransformer.java
@@ -18,7 +18,7 @@
package org.apache.commons.math4.linear;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Class transforming a general real matrix to Hessenberg form.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/linear/MatrixUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/linear/MatrixUtils.java b/src/main/java/org/apache/commons/math4/linear/MatrixUtils.java
index 9485b7b..cb71b37 100644
--- a/src/main/java/org/apache/commons/math4/linear/MatrixUtils.java
+++ b/src/main/java/org/apache/commons/math4/linear/MatrixUtils.java
@@ -37,7 +37,7 @@ import org.apache.commons.math4.fraction.Fraction;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* A collection of static methods that operate on or return matrices.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/linear/SchurTransformer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/linear/SchurTransformer.java b/src/main/java/org/apache/commons/math4/linear/SchurTransformer.java
index 3d818b4..b836efe 100644
--- a/src/main/java/org/apache/commons/math4/linear/SchurTransformer.java
+++ b/src/main/java/org/apache/commons/math4/linear/SchurTransformer.java
@@ -20,7 +20,7 @@ package org.apache.commons.math4.linear;
import org.apache.commons.math4.exception.MaxCountExceededException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Class transforming a general real matrix to Schur form.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/linear/SingularValueDecomposition.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/linear/SingularValueDecomposition.java b/src/main/java/org/apache/commons/math4/linear/SingularValueDecomposition.java
index 65ec195..4d4116e 100644
--- a/src/main/java/org/apache/commons/math4/linear/SingularValueDecomposition.java
+++ b/src/main/java/org/apache/commons/math4/linear/SingularValueDecomposition.java
@@ -19,7 +19,7 @@ package org.apache.commons.math4.linear;
import org.apache.commons.math4.exception.NumberIsTooLargeException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Calculates the compact Singular Value Decomposition of a matrix.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/ml/neuralnet/Neuron.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/ml/neuralnet/Neuron.java b/src/main/java/org/apache/commons/math4/ml/neuralnet/Neuron.java
index 61b3aa1..409e553 100644
--- a/src/main/java/org/apache/commons/math4/ml/neuralnet/Neuron.java
+++ b/src/main/java/org/apache/commons/math4/ml/neuralnet/Neuron.java
@@ -23,7 +23,7 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.commons.math4.exception.DimensionMismatchException;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/ode/AbstractIntegrator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/ode/AbstractIntegrator.java b/src/main/java/org/apache/commons/math4/ode/AbstractIntegrator.java
index 356f2b6..15cb079 100644
--- a/src/main/java/org/apache/commons/math4/ode/AbstractIntegrator.java
+++ b/src/main/java/org/apache/commons/math4/ode/AbstractIntegrator.java
@@ -39,7 +39,7 @@ import org.apache.commons.math4.ode.sampling.AbstractStepInterpolator;
import org.apache.commons.math4.ode.sampling.StepHandler;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.IntegerSequence;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Base class managing common boilerplate for all integrators.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/ode/events/FilterType.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/ode/events/FilterType.java b/src/main/java/org/apache/commons/math4/ode/events/FilterType.java
index 4dfaefb..023c228 100644
--- a/src/main/java/org/apache/commons/math4/ode/events/FilterType.java
+++ b/src/main/java/org/apache/commons/math4/ode/events/FilterType.java
@@ -83,7 +83,7 @@ public enum FilterType {
* <li>h = min(-s,-g,+g)</li>
* <li>h = -g</li>
* </ul>
- * where s is a tiny positive value: {@link org.apache.commons.math4.util.Precision#SAFE_MIN}.
+ * where s is a tiny positive value: {@link org.apache.commons.numbers.core.Precision#SAFE_MIN}.
* </p>
*/
@Override
@@ -261,7 +261,7 @@ public enum FilterType {
* <li>h = min(-s,-g,+g)</li>
* <li>h = -g</li>
* </ul>
- * where s is a tiny positive value: {@link org.apache.commons.math4.util.Precision#SAFE_MIN}.
+ * where s is a tiny positive value: {@link org.apache.commons.numbers.core.Precision#SAFE_MIN}.
* </p>
*/
@Override
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/ode/events/Transformer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/ode/events/Transformer.java b/src/main/java/org/apache/commons/math4/ode/events/Transformer.java
index f341f35..08e71e2 100644
--- a/src/main/java/org/apache/commons/math4/ode/events/Transformer.java
+++ b/src/main/java/org/apache/commons/math4/ode/events/Transformer.java
@@ -18,7 +18,7 @@
package org.apache.commons.math4.ode.events;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/** Transformer for {@link EventHandler#g(double, double[]) g functions}.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/ode/sampling/FieldStepNormalizer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/ode/sampling/FieldStepNormalizer.java b/src/main/java/org/apache/commons/math4/ode/sampling/FieldStepNormalizer.java
index e50e297..bee9b1b 100644
--- a/src/main/java/org/apache/commons/math4/ode/sampling/FieldStepNormalizer.java
+++ b/src/main/java/org/apache/commons/math4/ode/sampling/FieldStepNormalizer.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.RealFieldElement;
import org.apache.commons.math4.exception.MaxCountExceededException;
import org.apache.commons.math4.ode.FieldODEStateAndDerivative;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class wraps an object implementing {@link FieldFixedStepHandler}
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/ode/sampling/StepNormalizer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/ode/sampling/StepNormalizer.java b/src/main/java/org/apache/commons/math4/ode/sampling/StepNormalizer.java
index dfc34fe..edec00c 100644
--- a/src/main/java/org/apache/commons/math4/ode/sampling/StepNormalizer.java
+++ b/src/main/java/org/apache/commons/math4/ode/sampling/StepNormalizer.java
@@ -19,7 +19,7 @@ package org.apache.commons.math4.ode.sampling;
import org.apache.commons.math4.exception.MaxCountExceededException;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class wraps an object implementing {@link FixedStepHandler}
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/optim/linear/SimplexSolver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/optim/linear/SimplexSolver.java b/src/main/java/org/apache/commons/math4/optim/linear/SimplexSolver.java
index 04b6ab9..ae8eb8c 100644
--- a/src/main/java/org/apache/commons/math4/optim/linear/SimplexSolver.java
+++ b/src/main/java/org/apache/commons/math4/optim/linear/SimplexSolver.java
@@ -23,7 +23,7 @@ import org.apache.commons.math4.exception.TooManyIterationsException;
import org.apache.commons.math4.optim.OptimizationData;
import org.apache.commons.math4.optim.PointValuePair;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Solves a linear problem using the "Two-Phase Simplex" method.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/optim/linear/SimplexTableau.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/optim/linear/SimplexTableau.java b/src/main/java/org/apache/commons/math4/optim/linear/SimplexTableau.java
index 02ee664..c435094 100644
--- a/src/main/java/org/apache/commons/math4/optim/linear/SimplexTableau.java
+++ b/src/main/java/org/apache/commons/math4/optim/linear/SimplexTableau.java
@@ -34,7 +34,7 @@ import org.apache.commons.math4.linear.MatrixUtils;
import org.apache.commons.math4.linear.RealVector;
import org.apache.commons.math4.optim.PointValuePair;
import org.apache.commons.math4.optim.nonlinear.scalar.GoalType;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* A tableau for use in the Simplex method.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/optim/univariate/BrentOptimizer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/optim/univariate/BrentOptimizer.java b/src/main/java/org/apache/commons/math4/optim/univariate/BrentOptimizer.java
index 420a919..e1b2d9d 100644
--- a/src/main/java/org/apache/commons/math4/optim/univariate/BrentOptimizer.java
+++ b/src/main/java/org/apache/commons/math4/optim/univariate/BrentOptimizer.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.exception.NumberIsTooSmallException;
import org.apache.commons.math4.optim.ConvergenceChecker;
import org.apache.commons.math4.optim.nonlinear.scalar.GoalType;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* For a function defined on some interval {@code (lo, hi)}, this class
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/descriptive/AbstractStorelessUnivariateStatistic.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/stat/descriptive/AbstractStorelessUnivariateStatistic.java b/src/main/java/org/apache/commons/math4/stat/descriptive/AbstractStorelessUnivariateStatistic.java
index 599188f..7d9b0d7 100644
--- a/src/main/java/org/apache/commons/math4/stat/descriptive/AbstractStorelessUnivariateStatistic.java
+++ b/src/main/java/org/apache/commons/math4/stat/descriptive/AbstractStorelessUnivariateStatistic.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.exception.NullArgumentException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Abstract base class for implementations of the
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/descriptive/MultivariateSummaryStatistics.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/stat/descriptive/MultivariateSummaryStatistics.java b/src/main/java/org/apache/commons/math4/stat/descriptive/MultivariateSummaryStatistics.java
index 39083d0..a161fc8 100644
--- a/src/main/java/org/apache/commons/math4/stat/descriptive/MultivariateSummaryStatistics.java
+++ b/src/main/java/org/apache/commons/math4/stat/descriptive/MultivariateSummaryStatistics.java
@@ -34,7 +34,7 @@ import org.apache.commons.math4.stat.descriptive.summary.SumOfSquares;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* <p>Computes summary statistics for a stream of n-tuples added using the
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/descriptive/StatisticalSummaryValues.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/stat/descriptive/StatisticalSummaryValues.java b/src/main/java/org/apache/commons/math4/stat/descriptive/StatisticalSummaryValues.java
index a83d657..d1aa197 100644
--- a/src/main/java/org/apache/commons/math4/stat/descriptive/StatisticalSummaryValues.java
+++ b/src/main/java/org/apache/commons/math4/stat/descriptive/StatisticalSummaryValues.java
@@ -20,7 +20,7 @@ import java.io.Serializable;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Value object representing the results of a univariate statistical summary.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/descriptive/SummaryStatistics.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/stat/descriptive/SummaryStatistics.java b/src/main/java/org/apache/commons/math4/stat/descriptive/SummaryStatistics.java
index b255805..91f77fb 100644
--- a/src/main/java/org/apache/commons/math4/stat/descriptive/SummaryStatistics.java
+++ b/src/main/java/org/apache/commons/math4/stat/descriptive/SummaryStatistics.java
@@ -32,7 +32,7 @@ import org.apache.commons.math4.stat.descriptive.summary.SumOfLogs;
import org.apache.commons.math4.stat.descriptive.summary.SumOfSquares;
import org.apache.commons.math4.util.FastMath;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* <p>
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentile.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentile.java b/src/main/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentile.java
index c81a4d1..7f3e54d 100644
--- a/src/main/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentile.java
+++ b/src/main/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentile.java
@@ -37,7 +37,7 @@ import org.apache.commons.math4.stat.descriptive.AbstractStorelessUnivariateStat
import org.apache.commons.math4.stat.descriptive.StorelessUnivariateStatistic;
import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.math4.util.MathUtils;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* A {@link StorelessUnivariateStatistic} estimating percentiles using the
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/descriptive/rank/Percentile.java
----------------------------------------------------------------------
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 a4f0eea..a85fb63 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
@@ -32,7 +32,7 @@ import org.apache.commons.math4.util.MathArrays;
import org.apache.commons.math4.util.MathUtils;
import org.apache.commons.math4.util.MedianOf3PivotingStrategy;
import org.apache.commons.math4.util.PivotingStrategyInterface;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Provides percentile computation.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/regression/MillerUpdatingRegression.java
----------------------------------------------------------------------
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 9782217..4f421d1 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
@@ -21,7 +21,7 @@ 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.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* This class is a concrete implementation of the {@link UpdatingMultipleLinearRegression} interface.
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/stat/regression/SimpleRegression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/stat/regression/SimpleRegression.java b/src/main/java/org/apache/commons/math4/stat/regression/SimpleRegression.java
index f68bc27..55b0d44 100644
--- a/src/main/java/org/apache/commons/math4/stat/regression/SimpleRegression.java
+++ b/src/main/java/org/apache/commons/math4/stat/regression/SimpleRegression.java
@@ -24,7 +24,7 @@ import org.apache.commons.math4.exception.NoDataException;
import org.apache.commons.math4.exception.OutOfRangeException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
/**
* Estimates an ordinary least squares regression model
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/util/ContinuedFraction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/util/ContinuedFraction.java b/src/main/java/org/apache/commons/math4/util/ContinuedFraction.java
index 56b7267..acd4b2c 100644
--- a/src/main/java/org/apache/commons/math4/util/ContinuedFraction.java
+++ b/src/main/java/org/apache/commons/math4/util/ContinuedFraction.java
@@ -16,6 +16,7 @@
*/
package org.apache.commons.math4.util;
+import org.apache.commons.numbers.core.Precision;
import org.apache.commons.math4.exception.ConvergenceException;
import org.apache.commons.math4.exception.MaxCountExceededException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/util/FastMath.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/util/FastMath.java b/src/main/java/org/apache/commons/math4/util/FastMath.java
index bf41840..20a9527 100644
--- a/src/main/java/org/apache/commons/math4/util/FastMath.java
+++ b/src/main/java/org/apache/commons/math4/util/FastMath.java
@@ -18,6 +18,7 @@ package org.apache.commons.math4.util;
import java.io.PrintStream;
+import org.apache.commons.numbers.core.Precision;
import org.apache.commons.math4.exception.MathArithmeticException;
import org.apache.commons.math4.exception.util.LocalizedFormats;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/util/MathArrays.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/util/MathArrays.java b/src/main/java/org/apache/commons/math4/util/MathArrays.java
index 9c26dbb..8d1236c 100644
--- a/src/main/java/org/apache/commons/math4/util/MathArrays.java
+++ b/src/main/java/org/apache/commons/math4/util/MathArrays.java
@@ -26,6 +26,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
+import org.apache.commons.numbers.core.Precision;
import org.apache.commons.math4.Field;
import org.apache.commons.math4.exception.DimensionMismatchException;
import org.apache.commons.math4.exception.MathArithmeticException;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/main/java/org/apache/commons/math4/util/Precision.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/util/Precision.java b/src/main/java/org/apache/commons/math4/util/Precision.java
deleted file mode 100644
index 91b0cb7..0000000
--- a/src/main/java/org/apache/commons/math4/util/Precision.java
+++ /dev/null
@@ -1,608 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.commons.math4.util;
-
-import java.math.BigDecimal;
-
-import org.apache.commons.math4.exception.MathArithmeticException;
-import org.apache.commons.math4.exception.MathIllegalArgumentException;
-import org.apache.commons.math4.exception.util.LocalizedFormats;
-
-/**
- * Utilities for comparing numbers.
- *
- * @since 3.0
- */
-public class Precision {
- /**
- * <p>
- * Largest double-precision floating-point number such that
- * {@code 1 + EPSILON} is numerically equal to 1. This value is an upper
- * bound on the relative error due to rounding real numbers to double
- * precision floating-point numbers.
- * </p>
- * <p>
- * In IEEE 754 arithmetic, this is 2<sup>-53</sup>.
- * </p>
- *
- * @see <a href="http://en.wikipedia.org/wiki/Machine_epsilon">Machine epsilon</a>
- */
- public static final double EPSILON;
-
- /**
- * Safe minimum, such that {@code 1 / SAFE_MIN} does not overflow.
- * <br/>
- * In IEEE 754 arithmetic, this is also the smallest normalized
- * number 2<sup>-1022</sup>.
- */
- public static final double SAFE_MIN;
-
- /** Exponent offset in IEEE754 representation. */
- private static final long EXPONENT_OFFSET = 1023l;
-
- /** Offset to order signed double numbers lexicographically. */
- private static final long SGN_MASK = 0x8000000000000000L;
- /** Offset to order signed double numbers lexicographically. */
- private static final int SGN_MASK_FLOAT = 0x80000000;
- /** Positive zero. */
- private static final double POSITIVE_ZERO = 0d;
- /** Positive zero bits. */
- private static final long POSITIVE_ZERO_DOUBLE_BITS = Double.doubleToRawLongBits(+0.0);
- /** Negative zero bits. */
- private static final long NEGATIVE_ZERO_DOUBLE_BITS = Double.doubleToRawLongBits(-0.0);
- /** Positive zero bits. */
- private static final int POSITIVE_ZERO_FLOAT_BITS = Float.floatToRawIntBits(+0.0f);
- /** Negative zero bits. */
- private static final int NEGATIVE_ZERO_FLOAT_BITS = Float.floatToRawIntBits(-0.0f);
-
- static {
- /*
- * This was previously expressed as = 0x1.0p-53;
- * However, OpenJDK (Sparc Solaris) cannot handle such small
- * constants: MATH-721
- */
- EPSILON = Double.longBitsToDouble((EXPONENT_OFFSET - 53l) << 52);
-
- /*
- * This was previously expressed as = 0x1.0p-1022;
- * However, OpenJDK (Sparc Solaris) cannot handle such small
- * constants: MATH-721
- */
- SAFE_MIN = Double.longBitsToDouble((EXPONENT_OFFSET - 1022l) << 52);
- }
-
- /**
- * Private constructor.
- */
- private Precision() {}
-
- /**
- * Compares two numbers given some amount of allowed error.
- *
- * @param x the first number
- * @param y the second number
- * @param eps the amount of error to allow when checking for equality
- * @return <ul><li>0 if {@link #equals(double, double, double) equals(x, y, eps)}</li>
- * <li>< 0 if !{@link #equals(double, double, double) equals(x, y, eps)} && x < y</li>
- * <li>> 0 if !{@link #equals(double, double, double) equals(x, y, eps)} && x > y or
- * either argument is NaN</li></ul>
- */
- public static int compareTo(double x, double y, double eps) {
- if (equals(x, y, eps)) {
- return 0;
- } else if (x < y) {
- return -1;
- }
- return 1;
- }
-
- /**
- * Compares two numbers given some amount of allowed error.
- * Two float numbers are considered equal if there are {@code (maxUlps - 1)}
- * (or fewer) floating point numbers between them, i.e. two adjacent floating
- * point numbers are considered equal.
- * Adapted from <a
- * href="http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/">
- * Bruce Dawson</a>. Returns {@code false} if either of the arguments is NaN.
- *
- * @param x first value
- * @param y second value
- * @param maxUlps {@code (maxUlps - 1)} is the number of floating point
- * values between {@code x} and {@code y}.
- * @return <ul><li>0 if {@link #equals(double, double, int) equals(x, y, maxUlps)}</li>
- * <li>< 0 if !{@link #equals(double, double, int) equals(x, y, maxUlps)} && x < y</li>
- * <li>> 0 if !{@link #equals(double, double, int) equals(x, y, maxUlps)} && x > y
- * or either argument is NaN</li></ul>
- */
- public static int compareTo(final double x, final double y, final int maxUlps) {
- if (equals(x, y, maxUlps)) {
- return 0;
- } else if (x < y) {
- return -1;
- }
- return 1;
- }
-
- /**
- * Returns true iff they are equal as defined by
- * {@link #equals(float,float,int) equals(x, y, 1)}.
- *
- * @param x first value
- * @param y second value
- * @return {@code true} if the values are equal.
- */
- public static boolean equals(float x, float y) {
- return equals(x, y, 1);
- }
-
- /**
- * Returns true if both arguments are NaN or they are
- * equal as defined by {@link #equals(float,float) equals(x, y, 1)}.
- *
- * @param x first value
- * @param y second value
- * @return {@code true} if the values are equal or both are NaN.
- * @since 2.2
- */
- public static boolean equalsIncludingNaN(float x, float y) {
- return (x != x || y != y) ? !(x != x ^ y != y) : equals(x, y, 1);
- }
-
- /**
- * Returns true if the arguments are equal or within the range of allowed
- * error (inclusive). Returns {@code false} if either of the arguments
- * is NaN.
- *
- * @param x first value
- * @param y second value
- * @param eps the amount of absolute error to allow.
- * @return {@code true} if the values are equal or within range of each other.
- * @since 2.2
- */
- public static boolean equals(float x, float y, float eps) {
- return equals(x, y, 1) || FastMath.abs(y - x) <= eps;
- }
-
- /**
- * Returns true if the arguments are both NaN, are equal, or are within the range
- * of allowed error (inclusive).
- *
- * @param x first value
- * @param y second value
- * @param eps the amount of absolute error to allow.
- * @return {@code true} if the values are equal or within range of each other,
- * or both are NaN.
- * @since 2.2
- */
- public static boolean equalsIncludingNaN(float x, float y, float eps) {
- return equalsIncludingNaN(x, y) || (FastMath.abs(y - x) <= eps);
- }
-
- /**
- * Returns true if the arguments are equal or within the range of allowed
- * error (inclusive).
- * Two float numbers are considered equal if there are {@code (maxUlps - 1)}
- * (or fewer) floating point numbers between them, i.e. two adjacent floating
- * point numbers are considered equal.
- * Adapted from <a
- * href="http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/">
- * Bruce Dawson</a>. Returns {@code false} if either of the arguments is NaN.
- *
- * @param x first value
- * @param y second value
- * @param maxUlps {@code (maxUlps - 1)} is the number of floating point
- * values between {@code x} and {@code y}.
- * @return {@code true} if there are fewer than {@code maxUlps} floating
- * point values between {@code x} and {@code y}.
- * @since 2.2
- */
- public static boolean equals(final float x, final float y, final int maxUlps) {
-
- final int xInt = Float.floatToRawIntBits(x);
- final int yInt = Float.floatToRawIntBits(y);
-
- final boolean isEqual;
- if (((xInt ^ yInt) & SGN_MASK_FLOAT) == 0) {
- // number have same sign, there is no risk of overflow
- isEqual = FastMath.abs(xInt - yInt) <= maxUlps;
- } else {
- // number have opposite signs, take care of overflow
- final int deltaPlus;
- final int deltaMinus;
- if (xInt < yInt) {
- deltaPlus = yInt - POSITIVE_ZERO_FLOAT_BITS;
- deltaMinus = xInt - NEGATIVE_ZERO_FLOAT_BITS;
- } else {
- deltaPlus = xInt - POSITIVE_ZERO_FLOAT_BITS;
- deltaMinus = yInt - NEGATIVE_ZERO_FLOAT_BITS;
- }
-
- if (deltaPlus > maxUlps) {
- isEqual = false;
- } else {
- isEqual = deltaMinus <= (maxUlps - deltaPlus);
- }
-
- }
-
- return isEqual && !Float.isNaN(x) && !Float.isNaN(y);
-
- }
-
- /**
- * Returns true if the arguments are both NaN or if they are equal as defined
- * by {@link #equals(float,float,int) equals(x, y, maxUlps)}.
- *
- * @param x first value
- * @param y second value
- * @param maxUlps {@code (maxUlps - 1)} is the number of floating point
- * values between {@code x} and {@code y}.
- * @return {@code true} if both arguments are NaN or if there are less than
- * {@code maxUlps} floating point values between {@code x} and {@code y}.
- * @since 2.2
- */
- public static boolean equalsIncludingNaN(float x, float y, int maxUlps) {
- return (x != x || y != y) ? !(x != x ^ y != y) : equals(x, y, maxUlps);
- }
-
- /**
- * Returns true iff they are equal as defined by
- * {@link #equals(double,double,int) equals(x, y, 1)}.
- *
- * @param x first value
- * @param y second value
- * @return {@code true} if the values are equal.
- */
- public static boolean equals(double x, double y) {
- return equals(x, y, 1);
- }
-
- /**
- * Returns true if the arguments are both NaN or they are
- * equal as defined by {@link #equals(double,double) equals(x, y, 1)}.
- *
- * @param x first value
- * @param y second value
- * @return {@code true} if the values are equal or both are NaN.
- * @since 2.2
- */
- public static boolean equalsIncludingNaN(double x, double y) {
- return (x != x || y != y) ? !(x != x ^ y != y) : equals(x, y, 1);
- }
-
- /**
- * Returns {@code true} if there is no double value strictly between the
- * arguments or the difference between them is within the range of allowed
- * error (inclusive). Returns {@code false} if either of the arguments
- * is NaN.
- *
- * @param x First value.
- * @param y Second value.
- * @param eps Amount of allowed absolute error.
- * @return {@code true} if the values are two adjacent floating point
- * numbers or they are within range of each other.
- */
- public static boolean equals(double x, double y, double eps) {
- return equals(x, y, 1) || FastMath.abs(y - x) <= eps;
- }
-
- /**
- * Returns {@code true} if there is no double value strictly between the
- * arguments or the relative difference between them is less than or equal
- * to the given tolerance. Returns {@code false} if either of the arguments
- * is NaN.
- *
- * @param x First value.
- * @param y Second value.
- * @param eps Amount of allowed relative error.
- * @return {@code true} if the values are two adjacent floating point
- * numbers or they are within range of each other.
- * @since 3.1
- */
- public static boolean equalsWithRelativeTolerance(double x, double y, double eps) {
- if (equals(x, y, 1)) {
- return true;
- }
-
- final double absoluteMax = FastMath.max(FastMath.abs(x), FastMath.abs(y));
- final double relativeDifference = FastMath.abs((x - y) / absoluteMax);
-
- return relativeDifference <= eps;
- }
-
- /**
- * Returns true if the arguments are both NaN, are equal or are within the range
- * of allowed error (inclusive).
- *
- * @param x first value
- * @param y second value
- * @param eps the amount of absolute error to allow.
- * @return {@code true} if the values are equal or within range of each other,
- * or both are NaN.
- * @since 2.2
- */
- public static boolean equalsIncludingNaN(double x, double y, double eps) {
- return equalsIncludingNaN(x, y) || (FastMath.abs(y - x) <= eps);
- }
-
- /**
- * Returns true if the arguments are equal or within the range of allowed
- * error (inclusive).
- * <p>
- * Two float numbers are considered equal if there are {@code (maxUlps - 1)}
- * (or fewer) floating point numbers between them, i.e. two adjacent
- * floating point numbers are considered equal.
- * </p>
- * <p>
- * Adapted from <a
- * href="http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/">
- * Bruce Dawson</a>. Returns {@code false} if either of the arguments is NaN.
- * </p>
- *
- * @param x first value
- * @param y second value
- * @param maxUlps {@code (maxUlps - 1)} is the number of floating point
- * values between {@code x} and {@code y}.
- * @return {@code true} if there are fewer than {@code maxUlps} floating
- * point values between {@code x} and {@code y}.
- */
- public static boolean equals(final double x, final double y, final int maxUlps) {
-
- final long xInt = Double.doubleToRawLongBits(x);
- final long yInt = Double.doubleToRawLongBits(y);
-
- final boolean isEqual;
- if (((xInt ^ yInt) & SGN_MASK) == 0l) {
- // number have same sign, there is no risk of overflow
- isEqual = FastMath.abs(xInt - yInt) <= maxUlps;
- } else {
- // number have opposite signs, take care of overflow
- final long deltaPlus;
- final long deltaMinus;
- if (xInt < yInt) {
- deltaPlus = yInt - POSITIVE_ZERO_DOUBLE_BITS;
- deltaMinus = xInt - NEGATIVE_ZERO_DOUBLE_BITS;
- } else {
- deltaPlus = xInt - POSITIVE_ZERO_DOUBLE_BITS;
- deltaMinus = yInt - NEGATIVE_ZERO_DOUBLE_BITS;
- }
-
- if (deltaPlus > maxUlps) {
- isEqual = false;
- } else {
- isEqual = deltaMinus <= (maxUlps - deltaPlus);
- }
-
- }
-
- return isEqual && !Double.isNaN(x) && !Double.isNaN(y);
-
- }
-
- /**
- * Returns true if both arguments are NaN or if they are equal as defined
- * by {@link #equals(double,double,int) equals(x, y, maxUlps)}.
- *
- * @param x first value
- * @param y second value
- * @param maxUlps {@code (maxUlps - 1)} is the number of floating point
- * values between {@code x} and {@code y}.
- * @return {@code true} if both arguments are NaN or if there are less than
- * {@code maxUlps} floating point values between {@code x} and {@code y}.
- * @since 2.2
- */
- public static boolean equalsIncludingNaN(double x, double y, int maxUlps) {
- return (x != x || y != y) ? !(x != x ^ y != y) : equals(x, y, maxUlps);
- }
-
- /**
- * Rounds the given value to the specified number of decimal places.
- * The value is rounded using the {@link BigDecimal#ROUND_HALF_UP} method.
- *
- * @param x Value to round.
- * @param scale Number of digits to the right of the decimal point.
- * @return the rounded value.
- * @since 1.1 (previously in {@code MathUtils}, moved as of version 3.0)
- */
- public static double round(double x, int scale) {
- return round(x, scale, BigDecimal.ROUND_HALF_UP);
- }
-
- /**
- * Rounds the given value to the specified number of decimal places.
- * The value is rounded using the given method which is any method defined
- * in {@link BigDecimal}.
- * If {@code x} is infinite or {@code NaN}, then the value of {@code x} is
- * returned unchanged, regardless of the other parameters.
- *
- * @param x Value to round.
- * @param scale Number of digits to the right of the decimal point.
- * @param roundingMethod Rounding method as defined in {@link BigDecimal}.
- * @return the rounded value.
- * @throws ArithmeticException if {@code roundingMethod == ROUND_UNNECESSARY}
- * and the specified scaling operation would require rounding.
- * @throws IllegalArgumentException if {@code roundingMethod} does not
- * represent a valid rounding mode.
- * @since 1.1 (previously in {@code MathUtils}, moved as of version 3.0)
- */
- public static double round(double x, int scale, int roundingMethod) {
- try {
- final double rounded = (new BigDecimal(Double.toString(x))
- .setScale(scale, roundingMethod))
- .doubleValue();
- // MATH-1089: negative values rounded to zero should result in negative zero
- return rounded == POSITIVE_ZERO ? POSITIVE_ZERO * x : rounded;
- } catch (NumberFormatException ex) {
- if (Double.isInfinite(x)) {
- return x;
- } else {
- return Double.NaN;
- }
- }
- }
-
- /**
- * Rounds the given value to the specified number of decimal places.
- * The value is rounded using the {@link BigDecimal#ROUND_HALF_UP} method.
- *
- * @param x Value to round.
- * @param scale Number of digits to the right of the decimal point.
- * @return the rounded value.
- * @since 1.1 (previously in {@code MathUtils}, moved as of version 3.0)
- */
- public static float round(float x, int scale) {
- return round(x, scale, BigDecimal.ROUND_HALF_UP);
- }
-
- /**
- * Rounds the given value to the specified number of decimal places.
- * The value is rounded using the given method which is any method defined
- * in {@link BigDecimal}.
- *
- * @param x Value to round.
- * @param scale Number of digits to the right of the decimal point.
- * @param roundingMethod Rounding method as defined in {@link BigDecimal}.
- * @return the rounded value.
- * @since 1.1 (previously in {@code MathUtils}, moved as of version 3.0)
- * @throws MathArithmeticException if an exact operation is required but result is not exact
- * @throws MathIllegalArgumentException if {@code roundingMethod} is not a valid rounding method.
- */
- public static float round(float x, int scale, int roundingMethod)
- throws MathArithmeticException, MathIllegalArgumentException {
- final float sign = FastMath.copySign(1f, x);
- final float factor = (float) FastMath.pow(10.0f, scale) * sign;
- return (float) roundUnscaled(x * factor, sign, roundingMethod) / factor;
- }
-
- /**
- * Rounds the given non-negative value to the "nearest" integer. Nearest is
- * determined by the rounding method specified. Rounding methods are defined
- * in {@link BigDecimal}.
- *
- * @param unscaled Value to round.
- * @param sign Sign of the original, scaled value.
- * @param roundingMethod Rounding method, as defined in {@link BigDecimal}.
- * @return the rounded value.
- * @throws MathArithmeticException if an exact operation is required but result is not exact
- * @throws MathIllegalArgumentException if {@code roundingMethod} is not a valid rounding method.
- * @since 1.1 (previously in {@code MathUtils}, moved as of version 3.0)
- */
- private static double roundUnscaled(double unscaled,
- double sign,
- int roundingMethod)
- throws MathArithmeticException, MathIllegalArgumentException {
- switch (roundingMethod) {
- case BigDecimal.ROUND_CEILING :
- if (sign == -1) {
- unscaled = FastMath.floor(FastMath.nextAfter(unscaled, Double.NEGATIVE_INFINITY));
- } else {
- unscaled = FastMath.ceil(FastMath.nextAfter(unscaled, Double.POSITIVE_INFINITY));
- }
- break;
- case BigDecimal.ROUND_DOWN :
- unscaled = FastMath.floor(FastMath.nextAfter(unscaled, Double.NEGATIVE_INFINITY));
- break;
- case BigDecimal.ROUND_FLOOR :
- if (sign == -1) {
- unscaled = FastMath.ceil(FastMath.nextAfter(unscaled, Double.POSITIVE_INFINITY));
- } else {
- unscaled = FastMath.floor(FastMath.nextAfter(unscaled, Double.NEGATIVE_INFINITY));
- }
- break;
- case BigDecimal.ROUND_HALF_DOWN : {
- unscaled = FastMath.nextAfter(unscaled, Double.NEGATIVE_INFINITY);
- double fraction = unscaled - FastMath.floor(unscaled);
- if (fraction > 0.5) {
- unscaled = FastMath.ceil(unscaled);
- } else {
- unscaled = FastMath.floor(unscaled);
- }
- break;
- }
- case BigDecimal.ROUND_HALF_EVEN : {
- double fraction = unscaled - FastMath.floor(unscaled);
- if (fraction > 0.5) {
- unscaled = FastMath.ceil(unscaled);
- } else if (fraction < 0.5) {
- unscaled = FastMath.floor(unscaled);
- } else {
- // The following equality test is intentional and needed for rounding purposes
- if (FastMath.floor(unscaled) / 2.0 == FastMath.floor(FastMath.floor(unscaled) / 2.0)) { // even
- unscaled = FastMath.floor(unscaled);
- } else { // odd
- unscaled = FastMath.ceil(unscaled);
- }
- }
- break;
- }
- case BigDecimal.ROUND_HALF_UP : {
- unscaled = FastMath.nextAfter(unscaled, Double.POSITIVE_INFINITY);
- double fraction = unscaled - FastMath.floor(unscaled);
- if (fraction >= 0.5) {
- unscaled = FastMath.ceil(unscaled);
- } else {
- unscaled = FastMath.floor(unscaled);
- }
- break;
- }
- case BigDecimal.ROUND_UNNECESSARY :
- if (unscaled != FastMath.floor(unscaled)) {
- throw new MathArithmeticException();
- }
- break;
- case BigDecimal.ROUND_UP :
- // do not round if the discarded fraction is equal to zero
- if (unscaled != FastMath.floor(unscaled)) {
- unscaled = FastMath.ceil(FastMath.nextAfter(unscaled, Double.POSITIVE_INFINITY));
- }
- break;
- default :
- throw new MathIllegalArgumentException(LocalizedFormats.INVALID_ROUNDING_METHOD,
- roundingMethod,
- "ROUND_CEILING", BigDecimal.ROUND_CEILING,
- "ROUND_DOWN", BigDecimal.ROUND_DOWN,
- "ROUND_FLOOR", BigDecimal.ROUND_FLOOR,
- "ROUND_HALF_DOWN", BigDecimal.ROUND_HALF_DOWN,
- "ROUND_HALF_EVEN", BigDecimal.ROUND_HALF_EVEN,
- "ROUND_HALF_UP", BigDecimal.ROUND_HALF_UP,
- "ROUND_UNNECESSARY", BigDecimal.ROUND_UNNECESSARY,
- "ROUND_UP", BigDecimal.ROUND_UP);
- }
- return unscaled;
- }
-
-
- /**
- * Computes a number {@code delta} close to {@code originalDelta} with
- * the property that <pre><code>
- * x + delta - x
- * </code></pre>
- * is exactly machine-representable.
- * This is useful when computing numerical derivatives, in order to reduce
- * roundoff errors.
- *
- * @param x Value.
- * @param originalDelta Offset value.
- * @return a number {@code delta} so that {@code x + delta} and {@code x}
- * differ by a representable floating number.
- */
- public static double representableDelta(double x,
- double originalDelta) {
- return x + originalDelta - x;
- }
-}
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/TestUtils.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/TestUtils.java b/src/test/java/org/apache/commons/math4/TestUtils.java
index bfa4644..992e0d8 100644
--- a/src/test/java/org/apache/commons/math4/TestUtils.java
+++ b/src/test/java/org/apache/commons/math4/TestUtils.java
@@ -32,7 +32,7 @@ import org.apache.commons.math4.linear.RealMatrix;
import org.apache.commons.math4.linear.RealVector;
import org.apache.commons.math4.stat.inference.ChiSquareTest;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
/**
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/analysis/differentiation/DerivativeStructureTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/analysis/differentiation/DerivativeStructureTest.java b/src/test/java/org/apache/commons/math4/analysis/differentiation/DerivativeStructureTest.java
index 1e82465..e926cc3 100644
--- a/src/test/java/org/apache/commons/math4/analysis/differentiation/DerivativeStructureTest.java
+++ b/src/test/java/org/apache/commons/math4/analysis/differentiation/DerivativeStructureTest.java
@@ -31,7 +31,7 @@ import org.apache.commons.rng.simple.RandomSource;
import org.apache.commons.math4.util.ArithmeticUtils;
import org.apache.commons.math4.util.CombinatoricsUtils;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/analysis/function/HarmonicOscillatorTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/analysis/function/HarmonicOscillatorTest.java b/src/test/java/org/apache/commons/math4/analysis/function/HarmonicOscillatorTest.java
index c195d20..6b75e55 100644
--- a/src/test/java/org/apache/commons/math4/analysis/function/HarmonicOscillatorTest.java
+++ b/src/test/java/org/apache/commons/math4/analysis/function/HarmonicOscillatorTest.java
@@ -23,7 +23,7 @@ import org.apache.commons.math4.analysis.function.HarmonicOscillator;
import org.apache.commons.math4.exception.DimensionMismatchException;
import org.apache.commons.math4.exception.NullArgumentException;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolatorTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolatorTest.java b/src/test/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolatorTest.java
index 85a3e09..0d6ccf3 100644
--- a/src/test/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolatorTest.java
+++ b/src/test/java/org/apache/commons/math4/analysis/interpolation/AkimaSplineInterpolatorTest.java
@@ -29,7 +29,7 @@ import org.apache.commons.math4.exception.NumberIsTooSmallException;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java b/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
index dc53e40..57d5b24 100644
--- a/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
+++ b/src/test/java/org/apache/commons/math4/analysis/interpolation/BicubicInterpolatingFunctionTest.java
@@ -25,7 +25,7 @@ import org.apache.commons.math4.exception.OutOfRangeException;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/analysis/interpolation/PiecewiseBicubicSplineInterpolatingFunctionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/analysis/interpolation/PiecewiseBicubicSplineInterpolatingFunctionTest.java b/src/test/java/org/apache/commons/math4/analysis/interpolation/PiecewiseBicubicSplineInterpolatingFunctionTest.java
index fc38867..6ee205c 100644
--- a/src/test/java/org/apache/commons/math4/analysis/interpolation/PiecewiseBicubicSplineInterpolatingFunctionTest.java
+++ b/src/test/java/org/apache/commons/math4/analysis/interpolation/PiecewiseBicubicSplineInterpolatingFunctionTest.java
@@ -26,7 +26,7 @@ import org.apache.commons.math4.exception.NullArgumentException;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/analysis/interpolation/TricubicInterpolatingFunctionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/analysis/interpolation/TricubicInterpolatingFunctionTest.java b/src/test/java/org/apache/commons/math4/analysis/interpolation/TricubicInterpolatingFunctionTest.java
index 79777fa..a28a6fc 100644
--- a/src/test/java/org/apache/commons/math4/analysis/interpolation/TricubicInterpolatingFunctionTest.java
+++ b/src/test/java/org/apache/commons/math4/analysis/interpolation/TricubicInterpolatingFunctionTest.java
@@ -24,7 +24,7 @@ import org.apache.commons.math4.exception.MathIllegalArgumentException;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtilsTest.java b/src/test/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtilsTest.java
index 45eba78..e9d2d09 100644
--- a/src/test/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtilsTest.java
+++ b/src/test/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtilsTest.java
@@ -20,7 +20,7 @@ import org.apache.commons.math4.analysis.UnivariateFunction;
import org.apache.commons.math4.analysis.integration.IterativeLegendreGaussIntegrator;
import org.apache.commons.math4.util.CombinatoricsUtils;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/dfp/DfpTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/dfp/DfpTest.java b/src/test/java/org/apache/commons/math4/dfp/DfpTest.java
index eeeae4b..01bd54d 100644
--- a/src/test/java/org/apache/commons/math4/dfp/DfpTest.java
+++ b/src/test/java/org/apache/commons/math4/dfp/DfpTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.ExtendedFieldElementAbstractTest;
import org.apache.commons.math4.dfp.Dfp;
import org.apache.commons.math4.dfp.DfpField;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/distribution/ExponentialDistributionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/distribution/ExponentialDistributionTest.java b/src/test/java/org/apache/commons/math4/distribution/ExponentialDistributionTest.java
index 465bfb5..00fa614 100644
--- a/src/test/java/org/apache/commons/math4/distribution/ExponentialDistributionTest.java
+++ b/src/test/java/org/apache/commons/math4/distribution/ExponentialDistributionTest.java
@@ -19,7 +19,7 @@ package org.apache.commons.math4.distribution;
import org.apache.commons.math4.distribution.ExponentialDistribution;
import org.apache.commons.math4.exception.NotStrictlyPositiveException;
import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/distribution/GumbelDistributionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/distribution/GumbelDistributionTest.java b/src/test/java/org/apache/commons/math4/distribution/GumbelDistributionTest.java
index 7a06926..d041e26 100644
--- a/src/test/java/org/apache/commons/math4/distribution/GumbelDistributionTest.java
+++ b/src/test/java/org/apache/commons/math4/distribution/GumbelDistributionTest.java
@@ -17,7 +17,7 @@
package org.apache.commons.math4.distribution;
import org.apache.commons.math4.distribution.GumbelDistribution;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/distribution/HypergeometricDistributionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/distribution/HypergeometricDistributionTest.java b/src/test/java/org/apache/commons/math4/distribution/HypergeometricDistributionTest.java
index 31f04ba..85b73f4 100644
--- a/src/test/java/org/apache/commons/math4/distribution/HypergeometricDistributionTest.java
+++ b/src/test/java/org/apache/commons/math4/distribution/HypergeometricDistributionTest.java
@@ -23,7 +23,7 @@ import org.apache.commons.math4.distribution.IntegerDistribution;
import org.apache.commons.math4.exception.NotPositiveException;
import org.apache.commons.math4.exception.NotStrictlyPositiveException;
import org.apache.commons.math4.exception.NumberIsTooLargeException;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.apache.commons.rng.simple.RandomSource;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-math/blob/e082e0c4/src/test/java/org/apache/commons/math4/distribution/LaplaceDistributionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/distribution/LaplaceDistributionTest.java b/src/test/java/org/apache/commons/math4/distribution/LaplaceDistributionTest.java
index 55ea7df..099ce72 100644
--- a/src/test/java/org/apache/commons/math4/distribution/LaplaceDistributionTest.java
+++ b/src/test/java/org/apache/commons/math4/distribution/LaplaceDistributionTest.java
@@ -17,7 +17,7 @@
package org.apache.commons.math4.distribution;
import org.apache.commons.math4.distribution.LaplaceDistribution;
-import org.apache.commons.math4.util.Precision;
+import org.apache.commons.numbers.core.Precision;
import org.junit.Assert;
import org.junit.Test;