This is an automated email from the ASF dual-hosted git repository. mattjuntunen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit 09b6c6a3f35ea80315aa4a8539c8e87f91ced571 Author: Matt Juntunen <mattjuntu...@apache.org> AuthorDate: Tue Jun 8 13:28:15 2021 -0400 NUMBERS-159: move classes from commons-numbers-arrays to more appropriate modules --- commons-numbers-angle/pom.xml | 7 +++++++ .../org/apache/commons/numbers/angle/Angle.java | 2 +- .../apache/commons/numbers/angle}/CosAngle.java | 5 ++++- .../commons/numbers/angle}/CosAngleTest.java | 2 +- commons-numbers-arrays/pom.xml | 14 -------------- commons-numbers-core/pom.xml | 12 ++++++++++++ .../commons/numbers/core}/ExtendedPrecision.java | 2 +- .../commons/numbers/core}/LinearCombination.java | 2 +- .../org/apache/commons/numbers/core}/Norms.java | 2 +- .../apache/commons/numbers/core}/Summation.java | 2 +- .../commons/numbers/core}/DoubleTestUtils.java | 2 +- .../numbers/core}/ExtendedPrecisionTest.java | 2 +- .../numbers/core}/LinearCombinationTest.java | 7 +++---- .../apache/commons/numbers/core}/NormsTest.java | 2 +- .../commons/numbers/core}/SummationTest.java | 2 +- .../jmh/{arrays => core}/DoublePrecision.java | 2 +- .../{arrays => core}/DoubleSplitPerformance.java | 12 ++++++------ .../examples/jmh/{arrays => core}/DoubleUtils.java | 2 +- .../EuclideanNormAlgorithmPerformance.java | 2 +- .../{arrays => core}/EuclideanNormAlgorithms.java | 4 ++-- .../{arrays => core}/EuclideanNormEvaluator.java | 2 +- .../jmh/{arrays => core}/LinearCombination.java | 2 +- .../LinearCombinationPerformance.java | 22 +++++++++++----------- .../{arrays => core}/LinearCombinationUtils.java | 6 +++--- .../jmh/{arrays => core}/LinearCombinations.java | 14 +++++++------- .../jmh/{arrays => core}/NormsPerformance.java | 4 ++-- .../jmh/{arrays => core}/StickySumPerformance.java | 8 ++++---- .../jmh/{arrays => core}/package-info.java | 4 ++-- .../jmh/{arrays => core}/DoublePrecisionTest.java | 2 +- .../EuclideanNormAccuracyTest.java | 2 +- .../LinearCombinationAccuracyTest.java | 22 +++++++++++----------- .../{arrays => core}/LinearCombinationsTest.java | 22 +++++++++++----------- .../checkstyle/checkstyle-suppressions.xml | 4 ++-- 33 files changed, 104 insertions(+), 97 deletions(-) diff --git a/commons-numbers-angle/pom.xml b/commons-numbers-angle/pom.xml index fef2923..cd5ed18 100644 --- a/commons-numbers-angle/pom.xml +++ b/commons-numbers-angle/pom.xml @@ -42,4 +42,11 @@ <numbers.parent.dir>${basedir}/..</numbers.parent.dir> </properties> + <dependencies> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-numbers-core</artifactId> + </dependency> + </dependencies> + </project> diff --git a/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java index d290b2f..8140ae2 100644 --- a/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java +++ b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/Angle.java @@ -16,8 +16,8 @@ */ package org.apache.commons.numbers.angle; -import java.util.function.DoubleUnaryOperator; import java.util.function.DoubleSupplier; +import java.util.function.DoubleUnaryOperator; /** * Represents the <a href="https://en.wikipedia.org/wiki/Angle">angle</a> concept. diff --git a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/CosAngle.java b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/CosAngle.java similarity index 91% rename from commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/CosAngle.java rename to commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/CosAngle.java index 39d0a4f..cfa569d 100644 --- a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/CosAngle.java +++ b/commons-numbers-angle/src/main/java/org/apache/commons/numbers/angle/CosAngle.java @@ -14,7 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.angle; + +import org.apache.commons.numbers.core.LinearCombination; +import org.apache.commons.numbers.core.Norms; /** * Computes the cosine of the angle between two vectors. diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/CosAngleTest.java b/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/CosAngleTest.java similarity index 98% rename from commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/CosAngleTest.java rename to commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/CosAngleTest.java index 90fdcf1..5a31908 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/CosAngleTest.java +++ b/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/CosAngleTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.angle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/commons-numbers-arrays/pom.xml b/commons-numbers-arrays/pom.xml index 7dcc5d5..894b93c 100644 --- a/commons-numbers-arrays/pom.xml +++ b/commons-numbers-arrays/pom.xml @@ -32,10 +32,6 @@ <description>Array utilities.</description> <properties> - <!-- JDK 9+ required for BigDecimal.sqrt() method in unit tests. --> - <maven.compiler.testSource>1.9</maven.compiler.testSource> - <maven.compiler.testTarget>1.9</maven.compiler.testTarget> - <!-- The Java Module System Name --> <commons.module.name>org.apache.commons.numbers.arrays</commons.module.name> <!-- This value must reflect the current name of the base package. --> @@ -46,14 +42,4 @@ <numbers.parent.dir>${basedir}/..</numbers.parent.dir> </properties> - <dependencies> - - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-rng-simple</artifactId> - <scope>test</scope> - </dependency> - - </dependencies> - </project> diff --git a/commons-numbers-core/pom.xml b/commons-numbers-core/pom.xml index a642de8..a84e730 100644 --- a/commons-numbers-core/pom.xml +++ b/commons-numbers-core/pom.xml @@ -32,6 +32,10 @@ <description>Basic utilities.</description> <properties> + <!-- JDK 9+ required for BigDecimal.sqrt() method in unit tests. --> + <maven.compiler.testSource>1.9</maven.compiler.testSource> + <maven.compiler.testTarget>1.9</maven.compiler.testTarget> + <!-- The Java Module System Name --> <commons.module.name>org.apache.commons.numbers.core</commons.module.name> <!-- This value must reflect the current name of the base package. --> @@ -42,6 +46,14 @@ <numbers.parent.dir>${basedir}/..</numbers.parent.dir> </properties> + <dependencies> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-rng-simple</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + <build> <plugins> <plugin> diff --git a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/ExtendedPrecision.java b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ExtendedPrecision.java similarity index 99% rename from commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/ExtendedPrecision.java rename to commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ExtendedPrecision.java index 18854e5..b60c35b 100644 --- a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/ExtendedPrecision.java +++ b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/ExtendedPrecision.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; /** * Computes extended precision floating-point operations. diff --git a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/LinearCombination.java b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/LinearCombination.java similarity index 99% rename from commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/LinearCombination.java rename to commons-numbers-core/src/main/java/org/apache/commons/numbers/core/LinearCombination.java index fa9ddfb..09cc821 100644 --- a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/LinearCombination.java +++ b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/LinearCombination.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; /** * Computes linear combinations accurately. diff --git a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Norms.java b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Norms.java similarity index 99% rename from commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Norms.java rename to commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Norms.java index 1e43ec9..2a357ca 100644 --- a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Norms.java +++ b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Norms.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; /** Class providing methods to compute various norm values. * diff --git a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Summation.java b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Summation.java similarity index 99% rename from commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Summation.java rename to commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Summation.java index da1bec0..3c26ab9 100644 --- a/commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/Summation.java +++ b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Summation.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; /** Class providing accurate floating-point summations. The methods provided * use a compensated summation technique to reduce numerical errors. diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/DoubleTestUtils.java b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/DoubleTestUtils.java similarity index 98% rename from commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/DoubleTestUtils.java rename to commons-numbers-core/src/test/java/org/apache/commons/numbers/core/DoubleTestUtils.java index 3735434..5546ab7 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/DoubleTestUtils.java +++ b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/DoubleTestUtils.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; import org.apache.commons.rng.UniformRandomProvider; diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/ExtendedPrecisionTest.java b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ExtendedPrecisionTest.java similarity index 99% rename from commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/ExtendedPrecisionTest.java rename to commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ExtendedPrecisionTest.java index c9647fb..85c5677 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/ExtendedPrecisionTest.java +++ b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ExtendedPrecisionTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/LinearCombinationTest.java b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/LinearCombinationTest.java similarity index 99% rename from commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/LinearCombinationTest.java rename to commons-numbers-core/src/test/java/org/apache/commons/numbers/core/LinearCombinationTest.java index 3165341..99c9876 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/LinearCombinationTest.java +++ b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/LinearCombinationTest.java @@ -14,15 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; import java.math.BigDecimal; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - import org.apache.commons.rng.UniformRandomProvider; import org.apache.commons.rng.simple.RandomSource; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; /** * Test cases for the {@link LinearCombination} class. diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/NormsTest.java b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/NormsTest.java similarity index 99% rename from commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/NormsTest.java rename to commons-numbers-core/src/test/java/org/apache/commons/numbers/core/NormsTest.java index acb5610..8c074f6 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/NormsTest.java +++ b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/NormsTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; import java.math.BigDecimal; import java.math.MathContext; diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/SummationTest.java b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/SummationTest.java similarity index 99% rename from commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/SummationTest.java rename to commons-numbers-core/src/test/java/org/apache/commons/numbers/core/SummationTest.java index 07d3128..af41c9b 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/SummationTest.java +++ b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/SummationTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.arrays; +package org.apache.commons.numbers.core; import java.math.BigDecimal; import java.math.MathContext; diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecision.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecision.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecision.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecision.java index b929b70..ea115b8 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecision.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecision.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; /** * Computes double-length precision floating-point operations. diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoubleSplitPerformance.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoubleSplitPerformance.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoubleSplitPerformance.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoubleSplitPerformance.java index 4aece34..f9136cf 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoubleSplitPerformance.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoubleSplitPerformance.java @@ -15,7 +15,12 @@ * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; + +import java.util.concurrent.TimeUnit; +import java.util.function.DoubleBinaryOperator; +import java.util.function.DoublePredicate; +import java.util.function.DoubleUnaryOperator; import org.apache.commons.rng.UniformRandomProvider; import org.apache.commons.rng.simple.RandomSource; @@ -32,11 +37,6 @@ import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.Warmup; import org.openjdk.jmh.infra.Blackhole; -import java.util.concurrent.TimeUnit; -import java.util.function.DoubleBinaryOperator; -import java.util.function.DoublePredicate; -import java.util.function.DoubleUnaryOperator; - /** * Executes a benchmark to measure the speed of operations in the {@link LinearCombination} class. * Benchmarks focus on the split of a double value into high and low parts. diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoubleUtils.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoubleUtils.java similarity index 98% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoubleUtils.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoubleUtils.java index 9224898..0ddeba7 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/DoubleUtils.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/DoubleUtils.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; import org.apache.commons.rng.UniformRandomProvider; diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAlgorithmPerformance.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAlgorithmPerformance.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAlgorithmPerformance.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAlgorithmPerformance.java index 43fb5e5..f4f820d 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAlgorithmPerformance.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAlgorithmPerformance.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; import java.util.concurrent.TimeUnit; import java.util.function.ToDoubleFunction; diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAlgorithms.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAlgorithms.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAlgorithms.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAlgorithms.java index 69008b7..703f096 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAlgorithms.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAlgorithms.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; import java.math.BigDecimal; import java.math.MathContext; @@ -370,7 +370,7 @@ public final class EuclideanNormAlgorithms { } rescale = 0x1.0p-600; } - return Math.sqrt(org.apache.commons.numbers.arrays.LinearCombination.value(x, x)) * rescale; + return Math.sqrt(org.apache.commons.numbers.core.LinearCombination.value(x, x)) * rescale; } } diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormEvaluator.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormEvaluator.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormEvaluator.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormEvaluator.java index 71f5ca6..77227b9 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormEvaluator.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormEvaluator.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; import java.math.BigDecimal; import java.math.MathContext; diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombination.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombination.java similarity index 98% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombination.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombination.java index b7bf902..7f40671 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombination.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombination.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; /** * Computes linear combinations as the the sum of the products of two sequences of numbers diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationPerformance.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationPerformance.java similarity index 96% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationPerformance.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationPerformance.java index e620a87..0590842 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationPerformance.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationPerformance.java @@ -15,13 +15,18 @@ * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; -import org.apache.commons.numbers.arrays.LinearCombination; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.FourD; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ND; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ThreeD; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.TwoD; +import java.math.MathContext; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; +import java.util.function.IntFunction; + +import org.apache.commons.numbers.core.LinearCombination; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.FourD; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.ND; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.ThreeD; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.TwoD; import org.apache.commons.rng.UniformRandomProvider; import org.apache.commons.rng.simple.RandomSource; import org.openjdk.jmh.annotations.Benchmark; @@ -37,11 +42,6 @@ import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.Warmup; import org.openjdk.jmh.infra.Blackhole; -import java.math.MathContext; -import java.util.Arrays; -import java.util.concurrent.TimeUnit; -import java.util.function.IntFunction; - /** * Executes a benchmark to measure the speed of operations in the {@link LinearCombination} class. */ diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationUtils.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationUtils.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationUtils.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationUtils.java index a13a47d..131ba2c 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationUtils.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationUtils.java @@ -14,13 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; - -import org.apache.commons.rng.UniformRandomProvider; +package org.apache.commons.numbers.examples.jmh.core; import java.math.BigDecimal; import java.math.MathContext; +import org.apache.commons.rng.UniformRandomProvider; + /** * Utility class to create data for linear combinations. */ diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinations.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinations.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinations.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinations.java index 0b97f33..467e9da 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinations.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinations.java @@ -14,16 +14,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; - -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.FourD; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ND; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ThreeD; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.TwoD; +package org.apache.commons.numbers.examples.jmh.core; import java.math.BigDecimal; import java.util.function.IntFunction; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.FourD; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.ND; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.ThreeD; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.TwoD; + /** * Provides implementations to computes linear combinations as the the sum of * the products of two sequences of numbers @@ -272,7 +272,7 @@ public final class LinearCombinations { * same number of operations as {@link ExtendedPrecision} and users should switch to the * {@link ExtendedPrecision} class. For example 3D combinations should use {@code k} up to * 3 or else switch to using {@link ExtendedPrecision}. This rule does not apply to the - * {@link org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ND ND} + * {@link org.apache.commons.numbers.examples.jmh.core.LinearCombination.ND ND} * implementations as {@link ExtendedPrecision} eliminates redundant operations * on zeros. In this case equivalent performance will be observed when {@code k <= n+1}. * Choice of implementation must consider performance and accuracy on real-world data. diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/NormsPerformance.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/NormsPerformance.java similarity index 98% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/NormsPerformance.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/NormsPerformance.java index 2550530..d600c43 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/NormsPerformance.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/NormsPerformance.java @@ -14,12 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; import java.util.concurrent.TimeUnit; import java.util.function.ToDoubleFunction; -import org.apache.commons.numbers.arrays.Norms; +import org.apache.commons.numbers.core.Norms; import org.apache.commons.rng.UniformRandomProvider; import org.apache.commons.rng.simple.RandomSource; import org.openjdk.jmh.annotations.Benchmark; diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/StickySumPerformance.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/StickySumPerformance.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/StickySumPerformance.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/StickySumPerformance.java index 1821b75..187e0e2 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/StickySumPerformance.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/StickySumPerformance.java @@ -15,7 +15,10 @@ * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; + +import java.util.concurrent.TimeUnit; +import java.util.function.DoubleBinaryOperator; import org.apache.commons.rng.UniformRandomProvider; import org.apache.commons.rng.simple.RandomSource; @@ -32,9 +35,6 @@ import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.Warmup; import org.openjdk.jmh.infra.Blackhole; -import java.util.concurrent.TimeUnit; -import java.util.function.DoubleBinaryOperator; - /** * Executes a benchmark to measure the speed of operations in the {@link LinearCombination} class. * Benchmarks focus on the sticky summation of two double values. diff --git a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/package-info.java b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/package-info.java similarity index 86% rename from commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/package-info.java rename to commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/package-info.java index 63e94de..110d353 100644 --- a/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/arrays/package-info.java +++ b/commons-numbers-examples/examples-jmh/src/main/java/org/apache/commons/numbers/examples/jmh/core/package-info.java @@ -16,6 +16,6 @@ */ /** - * Benchmarks for the {@code org.apache.commons.numbers.arrays} components. + * Benchmarks for the {@code org.apache.commons.numbers.core} components. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; diff --git a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecisionTest.java b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecisionTest.java similarity index 98% rename from commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecisionTest.java rename to commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecisionTest.java index 5da8cbb..ea8cb91 100644 --- a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecisionTest.java +++ b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/DoublePrecisionTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAccuracyTest.java b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAccuracyTest.java similarity index 99% rename from commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAccuracyTest.java rename to commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAccuracyTest.java index 7d30ee2..285288b 100644 --- a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/EuclideanNormAccuracyTest.java +++ b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/EuclideanNormAccuracyTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; import java.io.BufferedWriter; import java.io.IOException; diff --git a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationAccuracyTest.java b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationAccuracyTest.java similarity index 98% rename from commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationAccuracyTest.java rename to commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationAccuracyTest.java index 35f45b7..4dec2e8 100644 --- a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationAccuracyTest.java +++ b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationAccuracyTest.java @@ -14,17 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; - -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ND; -import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.simple.RandomSource; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; +package org.apache.commons.numbers.examples.jmh.core; import java.io.BufferedWriter; import java.io.IOException; @@ -36,6 +26,16 @@ import java.util.Formatter; import java.util.stream.Collectors; import java.util.stream.Stream; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.ND; +import org.apache.commons.rng.UniformRandomProvider; +import org.apache.commons.rng.simple.RandomSource; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + /** * Test the accuracy of each implementation of {@link LinearCombination}. */ diff --git a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationsTest.java b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationsTest.java similarity index 98% rename from commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationsTest.java rename to commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationsTest.java index c77490d..81be903 100644 --- a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/LinearCombinationsTest.java +++ b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/core/LinearCombinationsTest.java @@ -14,12 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.numbers.examples.jmh.arrays; +package org.apache.commons.numbers.examples.jmh.core; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.FourD; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ND; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.ThreeD; -import org.apache.commons.numbers.examples.jmh.arrays.LinearCombination.TwoD; +import java.math.BigDecimal; +import java.math.MathContext; +import java.math.RoundingMode; +import java.util.SplittableRandom; +import java.util.stream.Stream; + +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.FourD; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.ND; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.ThreeD; +import org.apache.commons.numbers.examples.jmh.core.LinearCombination.TwoD; import org.apache.commons.numbers.fraction.BigFraction; import org.apache.commons.rng.UniformRandomProvider; import org.apache.commons.rng.simple.RandomSource; @@ -29,12 +35,6 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import java.math.BigDecimal; -import java.math.MathContext; -import java.math.RoundingMode; -import java.util.SplittableRandom; -import java.util.stream.Stream; - /** * Test each implementation of the LinearCombination interface. */ diff --git a/src/main/resources/checkstyle/checkstyle-suppressions.xml b/src/main/resources/checkstyle/checkstyle-suppressions.xml index 26e5e11..4bb2be9 100644 --- a/src/main/resources/checkstyle/checkstyle-suppressions.xml +++ b/src/main/resources/checkstyle/checkstyle-suppressions.xml @@ -20,9 +20,9 @@ "https://checkstyle.org/dtds/suppressions_1_2.dtd"> <suppressions> <suppress checks="Indentation" files=".*[/\\]combinatorics[/\\]Factorial\.java" /> - <suppress checks="ParameterNumber" files=".*[/\\]arrays[/\\]LinearCombination[s]?\.java" /> + <suppress checks="ParameterNumber" files=".*[/\\]core[/\\]LinearCombination[s]?\.java" /> <suppress checks="FileLengthCheck" files=".*[/\\]Complex(Test)?\.java" /> - <suppress checks="FileLengthCheck" files=".*jmh[/\\]arrays[/\\]LinearCombinations.java" /> + <suppress checks="FileLengthCheck" files=".*jmh[/\\]core[/\\]LinearCombinations.java" /> <suppress checks="MethodLength" files=".*[/\\]Complex\.java" /> <!-- Method "hashCode()" is defined in the "Angle" parent class; subclasses have no additional fields to include in the hash. --> <suppress checks="EqualsHashCode" files=".*[/\\]Angle\.java" />