This is an automated email from the ASF dual-hosted git repository.
erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-math.git
The following commit(s) were added to refs/heads/master by this push:
new 0020bc5a7 Code examples are compilable again.
0020bc5a7 is described below
commit 0020bc5a7bce41e39c341b71dc6bf5723f68e987
Author: Gilles Sadowski <[email protected]>
AuthorDate: Sat Apr 5 11:05:50 2025 +0200
Code examples are compilable again.
---
.../userguide/ClusterAlgorithmComparison.java | 63 ++++-----
...erformance.java => JdkMathTestPerformance.java} | 150 ++++++++++-----------
.../LowDiscrepancyGeneratorComparison.java | 45 +++----
.../commons/math4/userguide}/PerfTestUtils.java | 4 +-
.../math4/userguide/filter/CannonballExample.java | 36 ++---
.../userguide/filter/ConstantVoltageExample.java | 30 ++---
.../userguide/genetics/HelloWorldExample.java | 26 ++--
.../userguide/genetics/ImageEvolutionExample.java | 12 +-
.../commons/math4/userguide/genetics/Polygon.java | 6 +-
.../userguide/genetics/PolygonChromosome.java | 6 +-
.../userguide/genetics/RandomPolygonMutation.java | 4 +-
src/userguide/pom.xml | 26 +---
12 files changed, 192 insertions(+), 216 deletions(-)
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/ClusterAlgorithmComparison.java
b/src/userguide/java/org/apache/commons/math4/userguide/ClusterAlgorithmComparison.java
index 9a9073da5..accab2498 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/ClusterAlgorithmComparison.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/ClusterAlgorithmComparison.java
@@ -41,16 +41,16 @@ import
org.apache.commons.statistics.distribution.UniformContinuousDistribution;
import org.apache.commons.statistics.distribution.NormalDistribution;
import org.apache.commons.geometry.euclidean.twod.Vector2D;
-import org.apache.commons.math4.ml.clustering.Cluster;
-import org.apache.commons.math4.ml.clustering.Clusterable;
-import org.apache.commons.math4.ml.clustering.Clusterer;
-import org.apache.commons.math4.ml.clustering.DBSCANClusterer;
-import org.apache.commons.math4.ml.clustering.DoublePoint;
-import org.apache.commons.math4.ml.clustering.FuzzyKMeansClusterer;
-import org.apache.commons.math4.ml.clustering.KMeansPlusPlusClusterer;
-import org.apache.commons.math4.random.SobolSequenceGenerator;
-import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Pair;
+import org.apache.commons.math4.legacy.ml.clustering.Cluster;
+import org.apache.commons.math4.legacy.ml.clustering.Clusterable;
+import org.apache.commons.math4.legacy.ml.clustering.Clusterer;
+import org.apache.commons.math4.legacy.ml.clustering.DBSCANClusterer;
+import org.apache.commons.math4.legacy.ml.clustering.DoublePoint;
+import org.apache.commons.math4.legacy.ml.clustering.FuzzyKMeansClusterer;
+import org.apache.commons.math4.legacy.ml.clustering.KMeansPlusPlusClusterer;
+import org.apache.commons.math4.legacy.random.SobolSequenceGenerator;
+import org.apache.commons.math4.core.jdkmath.JdkMath;
+import org.apache.commons.math4.legacy.core.Pair;
import org.apache.commons.math4.userguide.ExampleUtils.ExampleFrame;
/**
@@ -69,13 +69,13 @@ public class ClusterAlgorithmComparison {
throw new IllegalArgumentException();
}
- ContinuousDistribution.Sampler dist = new NormalDistribution(0.0,
noise).createSampler(rng);
+ ContinuousDistribution.Sampler dist = NormalDistribution.of(0.0,
noise).createSampler(rng);
List<Vector2D> points = new ArrayList<>();
- double range = 2.0 * FastMath.PI;
+ double range = 2.0 * JdkMath.PI;
double step = range / (samples / 2.0 + 1);
for (double angle = 0; angle < range; angle += step) {
- Vector2D outerCircle = Vector2D.of(FastMath.cos(angle),
FastMath.sin(angle));
+ Vector2D outerCircle = Vector2D.of(JdkMath.cos(angle),
JdkMath.sin(angle));
Vector2D innerCircle = outerCircle.multiply(factor);
points.add(outerCircle.add(generateNoiseVector(dist)));
@@ -93,22 +93,22 @@ public class ClusterAlgorithmComparison {
boolean shuffle,
double noise,
UniformRandomProvider rng) {
- ContinuousDistribution.Sampler dist = new NormalDistribution(0.0,
noise).createSampler(rng);
+ ContinuousDistribution.Sampler dist = NormalDistribution.of(0.0,
noise).createSampler(rng);
int nSamplesOut = samples / 2;
int nSamplesIn = samples - nSamplesOut;
List<Vector2D> points = new ArrayList<>();
- double range = FastMath.PI;
+ double range = JdkMath.PI;
double step = range / (nSamplesOut / 2.0);
for (double angle = 0; angle < range; angle += step) {
- Vector2D outerCircle = Vector2D.of(FastMath.cos(angle),
FastMath.sin(angle));
+ Vector2D outerCircle = Vector2D.of(JdkMath.cos(angle),
JdkMath.sin(angle));
points.add(outerCircle.add(generateNoiseVector(dist)));
}
step = range / (nSamplesIn / 2.0);
for (double angle = 0; angle < range; angle += step) {
- Vector2D innerCircle = Vector2D.of(1 - FastMath.cos(angle), 1 -
FastMath.sin(angle) - 0.5);
+ Vector2D innerCircle = Vector2D.of(1 - JdkMath.cos(angle), 1 -
JdkMath.sin(angle) - 0.5);
points.add(innerCircle.add(generateNoiseVector(dist)));
}
@@ -126,8 +126,8 @@ public class ClusterAlgorithmComparison {
double max,
boolean shuffle,
UniformRandomProvider rng) {
- ContinuousDistribution.Sampler uniform = new
UniformContinuousDistribution(min, max).createSampler(rng);
- ContinuousDistribution.Sampler gauss = new NormalDistribution(0.0,
clusterStd).createSampler(rng);
+ ContinuousDistribution.Sampler uniform =
UniformContinuousDistribution.of(min, max).createSampler(rng);
+ ContinuousDistribution.Sampler gauss = NormalDistribution.of(0.0,
clusterStd).createSampler(rng);
Vector2D[] centerPoints = new Vector2D[centers];
for (int i = 0; i < centers; i++) {
@@ -161,7 +161,7 @@ public class ClusterAlgorithmComparison {
generator.skipTo(999999);
List<Vector2D> points = new ArrayList<>();
for (double i = 0; i < samples; i++) {
- double[] vector = generator.nextVector();
+ double[] vector = generator.get();
vector[0] = vector[0] * 2 - 1;
vector[1] = vector[1] * 2 - 1;
Vector2D point = Vector2D.of(vector);
@@ -205,25 +205,20 @@ public class ClusterAlgorithmComparison {
final long seed = RandomSource.createLong(); // Random seed.
UniformRandomProvider rng =
RandomSource.create(RandomSource.WELL_19937_C, seed);
- List<List<DoublePoint>> datasets = new
ArrayList<List<DoublePoint>>();
+ List<List<DoublePoint>> datasets = new ArrayList<>();
datasets.add(normalize(makeCircles(nSamples, true, 0.04, 0.5,
rng), -1, 1, -1, 1));
datasets.add(normalize(makeMoons(nSamples, true, 0.04, rng), -1,
2, -1, 1));
datasets.add(normalize(makeBlobs(nSamples, 3, 1.0, -10, 10, true,
rng), -12, 12, -12, 12));
datasets.add(normalize(makeRandom(nSamples), -1, 1, -1, 1));
- List<Pair<String, Clusterer<DoublePoint>>> algorithms = new
ArrayList<>();
+ List<Pair<String, ? extends Clusterer<DoublePoint>>> algorithms =
new ArrayList<>();
- algorithms.add(new Pair<String,
Clusterer<DoublePoint>>("KMeans\n(k=2)",
- new
KMeansPlusPlusClusterer<>(2)));
- algorithms.add(new Pair<String,
Clusterer<DoublePoint>>("KMeans\n(k=3)",
- new
KMeansPlusPlusClusterer<>(3)));
- algorithms.add(new Pair<String,
Clusterer<DoublePoint>>("FuzzyKMeans\n(k=3, fuzzy=2)",
- new
FuzzyKMeansClusterer<>(3, 2)));
- algorithms.add(new Pair<String,
Clusterer<DoublePoint>>("FuzzyKMeans\n(k=3, fuzzy=10)",
- new
FuzzyKMeansClusterer<>(3, 10)));
- algorithms.add(new Pair<String,
Clusterer<DoublePoint>>("DBSCAN\n(eps=.1, min=3)",
- new
DBSCANClusterer<>(0.1, 3)));
+ algorithms.add(new Pair<>("KMeans\n(k=2)", new
KMeansPlusPlusClusterer<DoublePoint>(2)));
+ algorithms.add(new Pair<>("KMeans\n(k=3)", new
KMeansPlusPlusClusterer<DoublePoint>(3)));
+ algorithms.add(new Pair<>("FuzzyKMeans\n(k=3, fuzzy=2)", new
FuzzyKMeansClusterer<DoublePoint>(3, 2)));
+ algorithms.add(new Pair<>("FuzzyKMeans\n(k=3, fuzzy=10)", new
FuzzyKMeansClusterer<DoublePoint>(3, 10)));
+ algorithms.add(new Pair<>("DBSCAN\n(eps=.1, min=3)", new
DBSCANClusterer<DoublePoint>(0.1, 3)));
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.VERTICAL;
@@ -231,7 +226,7 @@ public class ClusterAlgorithmComparison {
c.gridy = 0;
c.insets = new Insets(2, 2, 2, 2);
- for (Pair<String, Clusterer<DoublePoint>> pair : algorithms) {
+ for (Pair<String, ? extends Clusterer<DoublePoint>> pair :
algorithms) {
JLabel text = new JLabel("<html><body>" +
pair.getFirst().replace("\n", "<br>"));
add(text, c);
c.gridx++;
@@ -240,7 +235,7 @@ public class ClusterAlgorithmComparison {
for (List<DoublePoint> dataset : datasets) {
c.gridx = 0;
- for (Pair<String, Clusterer<DoublePoint>> pair : algorithms) {
+ for (Pair<String, ? extends Clusterer<DoublePoint>> pair :
algorithms) {
long start = System.currentTimeMillis();
List<? extends Cluster<DoublePoint>> clusters =
pair.getSecond().cluster(dataset);
long end = System.currentTimeMillis();
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/FastMathTestPerformance.java
b/src/userguide/java/org/apache/commons/math4/userguide/JdkMathTestPerformance.java
similarity index 91%
rename from
src/userguide/java/org/apache/commons/math4/userguide/FastMathTestPerformance.java
rename to
src/userguide/java/org/apache/commons/math4/userguide/JdkMathTestPerformance.java
index cbe682b3a..3e511ab2d 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/FastMathTestPerformance.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/JdkMathTestPerformance.java
@@ -16,14 +16,13 @@
*/
package org.apache.commons.math4.userguide;
-import org.apache.commons.math4.PerfTestUtils;
-import org.apache.commons.math4.util.FastMath;
+import org.apache.commons.math4.core.jdkmath.JdkMath;
/**
- * Performance benchmark for FastMath.
+ * Performance benchmark for JdkMath.
*
*/
-public class FastMathTestPerformance {
+public class JdkMathTestPerformance {
private static final int RUNS =
Integer.parseInt(System.getProperty("testRuns","10000000"));
private static final double F1 = 1d / RUNS;
@@ -34,7 +33,7 @@ public class FastMathTestPerformance {
public static void main(String[] args) {
System.out.println(String.format(FMT_HDR,
-
"Name","StrictMath","FastMath","Math",RUNS,
+
"Name","StrictMath","JdkMath","Math",RUNS,
System.getProperty("java.version"),
System.getProperty("java.runtime.version","?"),
System.getProperty("java.vm.name"),
@@ -57,7 +56,7 @@ public class FastMathTestPerformance {
testPow();
testSin();
testSinh();
- testSqrt();
+ // testSqrt(); // Not implemented
testTan();
testTanh();
testIEEEremainder();
@@ -93,7 +92,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.log(0.01 + i);
+ x += JdkMath.log(0.01 + i);
}
long fastTime = System.nanoTime() - time;
@@ -119,7 +118,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.log10(0.01 + i);
+ x += JdkMath.log10(0.01 + i);
}
long fastTime = System.nanoTime() - time;
@@ -145,7 +144,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.log1p(-0.9 + i);
+ x += JdkMath.log1p(-0.9 + i);
}
long fastTime = System.nanoTime() - time;
@@ -171,7 +170,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.pow(0.01 + i * F1, i * F1);
+ x += JdkMath.pow(0.01 + i * F1, i * F1);
}
long fastTime = System.nanoTime() - time;
@@ -196,7 +195,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.exp(100 * i * F1);
+ x += JdkMath.exp(100 * i * F1);
}
long fastTime = System.nanoTime() - time;
@@ -222,7 +221,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.sin(100 * (i - RUNS/2) * F1);
+ x += JdkMath.sin(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -248,7 +247,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.asin(0.999 * (i - RUNS/2) * F1);
+ x += JdkMath.asin(0.999 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -274,7 +273,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.cos(100 * (i - RUNS/2) * F1);
+ x += JdkMath.cos(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -300,7 +299,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.acos(0.999 * (i - RUNS/2) * F1);
+ x += JdkMath.acos(0.999 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -325,7 +324,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.tan(100 * (i - RUNS/2) * F1);
+ x += JdkMath.tan(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -351,7 +350,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.atan(100 * (i - RUNS/2) * F1);
+ x += JdkMath.atan(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -369,7 +368,7 @@ public class FastMathTestPerformance {
private static void testAtan2() {
double x = 0;
long time = System.nanoTime();
- int max = (int) FastMath.floor(FastMath.sqrt(RUNS));
+ int max = (int) JdkMath.floor(Math.sqrt(RUNS));
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
x += StrictMath.atan2((i - max/2) * (100.0 / max), (j - max/2)
* (100.0 / max));
@@ -381,7 +380,7 @@ public class FastMathTestPerformance {
time = System.nanoTime();
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
- x += FastMath.atan2((i - max/2) * (100.0 / max), (j - max/2) *
(100.0 / max));
+ x += JdkMath.atan2((i - max/2) * (100.0 / max), (j - max/2) *
(100.0 / max));
}
}
long fastTime = System.nanoTime() - time;
@@ -402,7 +401,7 @@ public class FastMathTestPerformance {
private static void testHypot() {
double x = 0;
long time = System.nanoTime();
- int max = (int) FastMath.floor(FastMath.sqrt(RUNS));
+ int max = (int) JdkMath.floor(Math.sqrt(RUNS));
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
x += StrictMath.atan2((i - max/2) * (100.0 / max), (j - max/2)
* (100.0 / max));
@@ -414,7 +413,7 @@ public class FastMathTestPerformance {
time = System.nanoTime();
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
- x += FastMath.atan2((i - max/2) * (100.0 / max), (j - max/2) *
(100.0 / max));
+ x += JdkMath.atan2((i - max/2) * (100.0 / max), (j - max/2) *
(100.0 / max));
}
}
long fastTime = System.nanoTime() - time;
@@ -435,7 +434,7 @@ public class FastMathTestPerformance {
private static void testIEEEremainder() {
double x = 0;
long time = System.nanoTime();
- int max = (int) FastMath.floor(FastMath.sqrt(RUNS));
+ int max = (int) JdkMath.floor(Math.sqrt(RUNS));
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
x += StrictMath.IEEEremainder((i - max/2) * (100.0 / max), (j
+ 1) * (100.0 / max));
@@ -447,7 +446,7 @@ public class FastMathTestPerformance {
time = System.nanoTime();
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
- x += FastMath.IEEEremainder((i - max/2) * (100.0 / max), (j +
1) * (100.0 / max));
+ x += JdkMath.IEEEremainder((i - max/2) * (100.0 / max), (j +
1) * (100.0 / max));
}
}
long fastTime = System.nanoTime() - time;
@@ -476,7 +475,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.cbrt(100 * i * F1);
+ x += JdkMath.cbrt(100 * i * F1);
}
long fastTime = System.nanoTime() - time;
@@ -491,31 +490,32 @@ public class FastMathTestPerformance {
assertTrue(!Double.isNaN(x));
}
- private static void testSqrt() {
- double x = 0;
- long time = System.nanoTime();
- for (int i = 0; i < RUNS; i++) {
- x += StrictMath.sqrt(100 * i * F1);
- }
- long strictTime = System.nanoTime() - time;
-
- x = 0;
- time = System.nanoTime();
- for (int i = 0; i < RUNS; i++) {
- x += FastMath.sqrt(100 * i * F1);
- }
- long fastTime = System.nanoTime() - time;
-
- x = 0;
- time = System.nanoTime();
- for (int i = 0; i < RUNS; i++) {
- x += Math.sqrt(100 * i * F1);
- }
- long mathTime = System.nanoTime() - time;
-
- report("sqrt",strictTime,fastTime,mathTime);
- assertTrue(!Double.isNaN(x));
- }
+ // Function "sqrt" is not implemented in "JdkMath".
+ // private static void testSqrt() {
+ // double x = 0;
+ // long time = System.nanoTime();
+ // for (int i = 0; i < RUNS; i++) {
+ // x += StrictMath.sqrt(100 * i * F1);
+ // }
+ // long strictTime = System.nanoTime() - time;
+
+ // x = 0;
+ // time = System.nanoTime();
+ // for (int i = 0; i < RUNS; i++) {
+ // x += JdkMath.sqrt(100 * i * F1); // Not implemented
+ // }
+ // long fastTime = System.nanoTime() - time;
+
+ // x = 0;
+ // time = System.nanoTime();
+ // for (int i = 0; i < RUNS; i++) {
+ // x += Math.sqrt(100 * i * F1);
+ // }
+ // long mathTime = System.nanoTime() - time;
+
+ // report("sqrt",strictTime,fastTime,mathTime);
+ // assertTrue(!Double.isNaN(x));
+ // }
private static void testCosh() {
double x = 0;
@@ -528,7 +528,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.cosh(100 * (i - RUNS/2) * F1);
+ x += JdkMath.cosh(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -554,7 +554,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.sinh(100 * (i - RUNS/2) * F1);
+ x += JdkMath.sinh(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -580,7 +580,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.tanh(100 * (i - RUNS/2) * F1);
+ x += JdkMath.tanh(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -606,7 +606,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.expm1(100 * (i - RUNS/2) * F1);
+ x += JdkMath.expm1(100 * (i - RUNS/2) * F1);
}
long fastTime = System.nanoTime() - time;
@@ -631,7 +631,7 @@ public class FastMathTestPerformance {
x = 0;
time = System.nanoTime();
for (int i = 0; i < RUNS; i++) {
- x += FastMath.abs(i * (1 - 0.5 * RUNS));
+ x += JdkMath.abs(i * (1 - 0.5 * RUNS));
}
long fastTime = System.nanoTime() - time;
@@ -650,7 +650,7 @@ public class FastMathTestPerformance {
private static void testSimpleBenchmark() {
final String SM = "StrictMath";
final String M = "Math";
- final String FM = "FastMath";
+ final String FM = "JdkMath";
final int maxWidth = 15;
final int numStat = 100;
@@ -679,7 +679,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.log(x);
+ return JdkMath.log(x);
}
});
@@ -703,7 +703,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.log10(x);
+ return JdkMath.log10(x);
}
});
@@ -727,7 +727,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.log1p(x);
+ return JdkMath.log1p(x);
}
});
@@ -751,7 +751,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.pow(x, y);
+ return JdkMath.pow(x, y);
}
});
@@ -775,7 +775,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.exp(x);
+ return JdkMath.exp(x);
}
});
@@ -799,7 +799,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.sin(x);
+ return JdkMath.sin(x);
}
});
@@ -823,7 +823,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.asin(x);
+ return JdkMath.asin(x);
}
});
@@ -847,7 +847,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.cos(x);
+ return JdkMath.cos(x);
}
});
@@ -871,7 +871,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.acos(x);
+ return JdkMath.acos(x);
}
});
@@ -895,7 +895,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.tan(x);
+ return JdkMath.tan(x);
}
});
@@ -919,7 +919,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.atan(x);
+ return JdkMath.atan(x);
}
});
@@ -943,7 +943,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.atan2(x, y);
+ return JdkMath.atan2(x, y);
}
});
@@ -967,7 +967,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.hypot(x, y);
+ return JdkMath.hypot(x, y);
}
});
@@ -992,7 +992,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.cbrt(x);
+ return JdkMath.cbrt(x);
}
});
@@ -1016,7 +1016,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.sqrt(x);
+ return JdkMath.sqrt(x);
}
});
@@ -1040,7 +1040,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.cosh(x);
+ return JdkMath.cosh(x);
}
});
@@ -1064,7 +1064,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.sinh(x);
+ return JdkMath.sinh(x);
}
});
@@ -1088,7 +1088,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.tanh(x);
+ return JdkMath.tanh(x);
}
});
@@ -1112,7 +1112,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.expm1(x);
+ return JdkMath.expm1(x);
}
});
@@ -1136,7 +1136,7 @@ public class FastMathTestPerformance {
new PerfTestUtils.RunTest(FM) {
@Override
public Double call() throws Exception {
- return FastMath.abs(x);
+ return JdkMath.abs(x);
}
});
}
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/LowDiscrepancyGeneratorComparison.java
b/src/userguide/java/org/apache/commons/math4/userguide/LowDiscrepancyGeneratorComparison.java
index b3174e1f1..62f4489c0 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/LowDiscrepancyGeneratorComparison.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/LowDiscrepancyGeneratorComparison.java
@@ -27,6 +27,7 @@ import java.awt.RenderingHints;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Supplier;
import javax.swing.JComponent;
import javax.swing.JLabel;
@@ -36,13 +37,10 @@ import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
import org.apache.commons.geometry.euclidean.twod.Vector2D;
-import org.apache.commons.math4.random.HaltonSequenceGenerator;
-import org.apache.commons.math4.random.RandomVectorGenerator;
-import org.apache.commons.math4.random.SobolSequenceGenerator;
-import org.apache.commons.math4.random.UncorrelatedRandomVectorGenerator;
-import org.apache.commons.math4.random.UniformRandomGenerator;
-import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.math4.util.Pair;
+import org.apache.commons.math4.legacy.random.HaltonSequenceGenerator;
+import org.apache.commons.math4.legacy.random.SobolSequenceGenerator;
+import org.apache.commons.math4.core.jdkmath.JdkMath;
+import org.apache.commons.math4.legacy.core.Pair;
import org.apache.commons.math4.userguide.ExampleUtils.ExampleFrame;
/**
@@ -50,10 +48,10 @@ import
org.apache.commons.math4.userguide.ExampleUtils.ExampleFrame;
*/
public class LowDiscrepancyGeneratorComparison {
- public static List<Vector2D> makeCircle(int samples, final
RandomVectorGenerator generator) {
+ public static List<Vector2D> makeCircle(int samples, final
Supplier<double[]> generator) {
List<Vector2D> points = new ArrayList<>();
for (double i = 0; i < samples; i++) {
- double[] vector = generator.nextVector();
+ double[] vector = generator.get();
Vector2D point = Vector2D.of(vector);
points.add(point);
}
@@ -64,7 +62,7 @@ public class LowDiscrepancyGeneratorComparison {
// now test if the sample is within the unit circle
List<Vector2D> circlePoints = new ArrayList<>();
for (Vector2D p : points) {
- double criteria = FastMath.pow(p.getX(), 2) +
FastMath.pow(p.getY(), 2);
+ double criteria = JdkMath.pow(p.getX(), 2) + JdkMath.pow(p.getY(),
2);
if (criteria < 1.0) {
circlePoints.add(p);
}
@@ -73,10 +71,10 @@ public class LowDiscrepancyGeneratorComparison {
return circlePoints;
}
- public static List<Vector2D> makeRandom(int samples, RandomVectorGenerator
generator) {
+ public static List<Vector2D> makeRandom(int samples, Supplier<double[]>
generator) {
List<Vector2D> points = new ArrayList<>();
for (double i = 0; i < samples; i++) {
- double[] vector = generator.nextVector();
+ double[] vector = generator.get();
Vector2D point = Vector2D.of(vector);
points.add(point);
}
@@ -89,19 +87,19 @@ public class LowDiscrepancyGeneratorComparison {
double minX = Double.MAX_VALUE;
double maxX = Double.MIN_VALUE;
for (Vector2D p : input) {
- minX = FastMath.min(minX, p.getX());
- maxX = FastMath.max(maxX, p.getX());
+ minX = JdkMath.min(minX, p.getX());
+ maxX = JdkMath.max(maxX, p.getX());
}
double minY, maxY;
// use the minimum to detect if we either have input values in the
range [0, 1] or [-sqrt(3), sqrt(3)]
- if (FastMath.abs(minX) < 0.1) {
+ if (JdkMath.abs(minX) < 0.1) {
minX = minY = 0.0;
maxX = maxY = 1.0;
} else {
- minX = minY = -FastMath.sqrt(3);
- maxX = maxY = FastMath.sqrt(3);
+ minX = minY = -JdkMath.sqrt(3);
+ maxX = maxY = JdkMath.sqrt(3);
}
double rangeX = maxX - minX;
@@ -127,18 +125,17 @@ public class LowDiscrepancyGeneratorComparison {
setLayout(new GridBagLayout());
int[] datasets = new int[] { 256, 1000, 2500, 1000 };
- List<Pair<String, RandomVectorGenerator>> generators = new
ArrayList<Pair<String, RandomVectorGenerator>>();
+ List<Pair<String, ? extends Supplier<double[]>>> generators = new
ArrayList<>();
- generators.add(new Pair<>("Uncorrelated\nUniform(JDK)",
- new UncorrelatedRandomVectorGenerator(2,
new UniformRandomGenerator(RandomSource.create(RandomSource.JDK)))));
- generators.add(new Pair<>("Independent\nRandom(MT)", new
RandomVectorGenerator() {
+ generators.add(new Pair<>("Independent\nRandom(MT)", new
Supplier<double[]>() {
final UniformRandomProvider[] rngs = new
UniformRandomProvider[] {
RandomSource.create(RandomSource.MT, 123456789),
RandomSource.create(RandomSource.MT, 987654321)
};
- public double[] nextVector() {
+ @Override
+ public double[] get() {
final double[] vector = new double[2];
vector[0] = rngs[0].nextDouble();
vector[1] = rngs[1].nextDouble();
@@ -155,7 +152,7 @@ public class LowDiscrepancyGeneratorComparison {
c.gridy = 0;
c.insets = new Insets(2, 2, 2, 2);
- for (Pair<String, RandomVectorGenerator> pair : generators) {
+ for (Pair<String, ? extends Supplier<double[]>> pair : generators)
{
JTextArea text = new JTextArea(pair.getFirst());
text.setEditable(false);
text.setOpaque(false);
@@ -176,7 +173,7 @@ public class LowDiscrepancyGeneratorComparison {
for (int type = 0; type < 4; type++) {
c.gridx = 1;
- for (Pair<String, RandomVectorGenerator> pair : generators) {
+ for (Pair<String, ? extends Supplier<double[]>> pair :
generators) {
List<Vector2D> points = null;
int samples = datasets[type];
switch (type) {
diff --git
a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/PerfTestUtils.java
b/src/userguide/java/org/apache/commons/math4/userguide/PerfTestUtils.java
similarity index 99%
rename from
commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/PerfTestUtils.java
rename to
src/userguide/java/org/apache/commons/math4/userguide/PerfTestUtils.java
index 6317b3c38..0dee7f989 100644
---
a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/PerfTestUtils.java
+++ b/src/userguide/java/org/apache/commons/math4/userguide/PerfTestUtils.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.math4.legacy;
+package org.apache.commons.math4.userguide;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
@@ -53,7 +53,7 @@ public final class PerfTestUtils {
/** Default number of code repeats for computing the average run time. */
private static final int DEFAULT_REPEAT_STAT = 10000;
/** RNG. */
- private static UniformRandomProvider rng =
RandomSource.WELL_19937_C.create();
+ private static UniformRandomProvider rng =
RandomSource.create(RandomSource.WELL_19937_C);
/** No instances. */
private PerfTestUtils() {}
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/filter/CannonballExample.java
b/src/userguide/java/org/apache/commons/math4/userguide/filter/CannonballExample.java
index f0a5b14fe..f1cc48d63 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/filter/CannonballExample.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/filter/CannonballExample.java
@@ -27,17 +27,17 @@ import javax.swing.JPanel;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
-
-import org.apache.commons.math4.filter.DefaultMeasurementModel;
-import org.apache.commons.math4.filter.DefaultProcessModel;
-import org.apache.commons.math4.filter.KalmanFilter;
-import org.apache.commons.math4.filter.MeasurementModel;
-import org.apache.commons.math4.filter.ProcessModel;
-import org.apache.commons.math4.linear.MatrixUtils;
-import org.apache.commons.math4.linear.RealMatrix;
-import org.apache.commons.math4.linear.RealVector;
-import org.apache.commons.math4.random.GaussianRandomGenerator;
-import org.apache.commons.math4.util.FastMath;
+import
org.apache.commons.rng.sampling.distribution.BoxMullerNormalizedGaussianSampler;
+
+import org.apache.commons.math4.legacy.filter.DefaultMeasurementModel;
+import org.apache.commons.math4.legacy.filter.DefaultProcessModel;
+import org.apache.commons.math4.legacy.filter.KalmanFilter;
+import org.apache.commons.math4.legacy.filter.MeasurementModel;
+import org.apache.commons.math4.legacy.filter.ProcessModel;
+import org.apache.commons.math4.legacy.linear.MatrixUtils;
+import org.apache.commons.math4.legacy.linear.RealMatrix;
+import org.apache.commons.math4.legacy.linear.RealVector;
+import org.apache.commons.math4.core.jdkmath.JdkMath;
import org.apache.commons.math4.userguide.ExampleUtils;
import org.apache.commons.math4.userguide.ExampleUtils.ExampleFrame;
@@ -61,21 +61,21 @@ public class CannonballExample {
private final double timeslice;
private final double measurementNoise;
- private final GaussianRandomGenerator rng;
+ private final BoxMullerNormalizedGaussianSampler rng;
public Cannonball(double timeslice, double angle, double
initialVelocity, double measurementNoise, int seed) {
this.timeslice = timeslice;
- final double angleInRadians = FastMath.toRadians(angle);
+ final double angleInRadians = JdkMath.toRadians(angle);
this.velocity = new double[] {
- initialVelocity * FastMath.cos(angleInRadians),
- initialVelocity * FastMath.sin(angleInRadians)
+ initialVelocity * JdkMath.cos(angleInRadians),
+ initialVelocity * JdkMath.sin(angleInRadians)
};
this.location = new double[] { 0, 0 };
this.measurementNoise = measurementNoise;
- this.rng = new
GaussianRandomGenerator(RandomSource.create(RandomSource.WELL_19937_C, seed));
+ this.rng = new
BoxMullerNormalizedGaussianSampler(RandomSource.create(RandomSource.WELL_19937_C,
seed));
}
public double getX() {
@@ -87,11 +87,11 @@ public class CannonballExample {
}
public double getMeasuredX() {
- return location[0] + rng.nextNormalizedDouble() * measurementNoise;
+ return location[0] + rng.sample() * measurementNoise;
}
public double getMeasuredY() {
- return location[1] + rng.nextNormalizedDouble() * measurementNoise;
+ return location[1] + rng.sample() * measurementNoise;
}
public double getXVelocity() {
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/filter/ConstantVoltageExample.java
b/src/userguide/java/org/apache/commons/math4/userguide/filter/ConstantVoltageExample.java
index af9d544c1..55adc88ad 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/filter/ConstantVoltageExample.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/filter/ConstantVoltageExample.java
@@ -27,17 +27,17 @@ import javax.swing.JPanel;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
-
-import org.apache.commons.math4.filter.DefaultMeasurementModel;
-import org.apache.commons.math4.filter.DefaultProcessModel;
-import org.apache.commons.math4.filter.KalmanFilter;
-import org.apache.commons.math4.filter.MeasurementModel;
-import org.apache.commons.math4.filter.ProcessModel;
-import org.apache.commons.math4.linear.Array2DRowRealMatrix;
-import org.apache.commons.math4.linear.ArrayRealVector;
-import org.apache.commons.math4.linear.RealMatrix;
-import org.apache.commons.math4.linear.RealVector;
-import org.apache.commons.math4.random.GaussianRandomGenerator;
+import
org.apache.commons.rng.sampling.distribution.BoxMullerNormalizedGaussianSampler;
+
+import org.apache.commons.math4.legacy.filter.DefaultMeasurementModel;
+import org.apache.commons.math4.legacy.filter.DefaultProcessModel;
+import org.apache.commons.math4.legacy.filter.KalmanFilter;
+import org.apache.commons.math4.legacy.filter.MeasurementModel;
+import org.apache.commons.math4.legacy.filter.ProcessModel;
+import org.apache.commons.math4.legacy.linear.Array2DRowRealMatrix;
+import org.apache.commons.math4.legacy.linear.ArrayRealVector;
+import org.apache.commons.math4.legacy.linear.RealMatrix;
+import org.apache.commons.math4.legacy.linear.RealVector;
import org.apache.commons.math4.userguide.ExampleUtils;
import org.apache.commons.math4.userguide.ExampleUtils.ExampleFrame;
@@ -57,7 +57,7 @@ public class ConstantVoltageExample {
private final double initialVoltage;
private final double processNoise;
private final double measurementNoise;
- private final GaussianRandomGenerator rng;
+ private final BoxMullerNormalizedGaussianSampler rng;
private double voltage;
@@ -66,7 +66,7 @@ public class ConstantVoltageExample {
this.voltage = voltage;
this.processNoise = processNoise;
this.measurementNoise = measurementNoise;
- rng = new
GaussianRandomGenerator(RandomSource.create(RandomSource.WELL_19937_C, seed));
+ rng = new
BoxMullerNormalizedGaussianSampler(RandomSource.create(RandomSource.WELL_19937_C,
seed));
}
/**
@@ -79,12 +79,12 @@ public class ConstantVoltageExample {
}
public double getMeasuredVoltage() {
- return getVoltage() + rng.nextNormalizedDouble() *
measurementNoise;
+ return getVoltage() + rng.sample() * measurementNoise;
}
public void step() {
// we apply only the process noise
- voltage = initialVoltage + rng.nextNormalizedDouble() *
processNoise;
+ voltage = initialVoltage + rng.sample() * processNoise;
}
}
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/HelloWorldExample.java
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/HelloWorldExample.java
index a47c494a0..9784143d0 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/HelloWorldExample.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/HelloWorldExample.java
@@ -23,18 +23,18 @@ import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.RandomStringUtils;
-import org.apache.commons.math4.exception.util.LocalizedFormats;
-import org.apache.commons.math4.genetics.AbstractListChromosome;
-import org.apache.commons.math4.genetics.Chromosome;
-import org.apache.commons.math4.genetics.ElitisticListPopulation;
-import org.apache.commons.math4.genetics.GeneticAlgorithm;
-import org.apache.commons.math4.genetics.InvalidRepresentationException;
-import org.apache.commons.math4.genetics.MutationPolicy;
-import org.apache.commons.math4.genetics.OnePointCrossover;
-import org.apache.commons.math4.genetics.Population;
-import org.apache.commons.math4.genetics.StoppingCondition;
-import org.apache.commons.math4.genetics.TournamentSelection;
-import org.apache.commons.math4.util.FastMath;
+import org.apache.commons.math4.legacy.exception.util.LocalizedFormats;
+import org.apache.commons.math4.legacy.genetics.AbstractListChromosome;
+import org.apache.commons.math4.legacy.genetics.Chromosome;
+import org.apache.commons.math4.legacy.genetics.ElitisticListPopulation;
+import org.apache.commons.math4.legacy.genetics.GeneticAlgorithm;
+import org.apache.commons.math4.legacy.genetics.InvalidRepresentationException;
+import org.apache.commons.math4.legacy.genetics.MutationPolicy;
+import org.apache.commons.math4.legacy.genetics.OnePointCrossover;
+import org.apache.commons.math4.legacy.genetics.Population;
+import org.apache.commons.math4.legacy.genetics.StoppingCondition;
+import org.apache.commons.math4.legacy.genetics.TournamentSelection;
+import org.apache.commons.math4.core.jdkmath.JdkMath;
import org.apache.commons.numbers.core.Precision;
public class HelloWorldExample {
@@ -132,7 +132,7 @@ public class HelloWorldExample {
for (int i = 0, c = target.length(); i < c; i++) {
// subtract the ascii difference between the target character
and the chromosome character.
// Thus 'c' is fitter than 'd' when compared to 'a'.
- f -= FastMath.abs(target.charAt(i) -
chromosome.get(i).charValue());
+ f -= JdkMath.abs(target.charAt(i) -
chromosome.get(i).charValue());
}
return f;
}
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/ImageEvolutionExample.java
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/ImageEvolutionExample.java
index ed88b3f5e..252ff96de 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/ImageEvolutionExample.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/ImageEvolutionExample.java
@@ -35,12 +35,12 @@ import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
-import org.apache.commons.math4.genetics.Chromosome;
-import org.apache.commons.math4.genetics.ElitisticListPopulation;
-import org.apache.commons.math4.genetics.GeneticAlgorithm;
-import org.apache.commons.math4.genetics.Population;
-import org.apache.commons.math4.genetics.TournamentSelection;
-import org.apache.commons.math4.genetics.UniformCrossover;
+import org.apache.commons.math4.legacy.genetics.Chromosome;
+import org.apache.commons.math4.legacy.genetics.ElitisticListPopulation;
+import org.apache.commons.math4.legacy.genetics.GeneticAlgorithm;
+import org.apache.commons.math4.legacy.genetics.Population;
+import org.apache.commons.math4.legacy.genetics.TournamentSelection;
+import org.apache.commons.math4.legacy.genetics.UniformCrossover;
import org.apache.commons.math4.userguide.ExampleUtils;
import org.apache.commons.math4.userguide.ExampleUtils.ExampleFrame;
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/Polygon.java
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/Polygon.java
index 04f8ad212..58bbcf1ee 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/Polygon.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/Polygon.java
@@ -23,8 +23,8 @@ import java.awt.geom.GeneralPath;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
-import org.apache.commons.math4.genetics.GeneticAlgorithm;
-import org.apache.commons.math4.util.FastMath;
+import org.apache.commons.math4.legacy.genetics.GeneticAlgorithm;
+import org.apache.commons.math4.core.jdkmath.JdkMath;
/**
* Represents a fixed size polgon with its fill color.
@@ -60,7 +60,7 @@ public class Polygon {
p.data[0] = random.nextFloat(); // r
p.data[1] = random.nextFloat(); // g
p.data[2] = random.nextFloat(); // b
- p.data[3] = FastMath.max(0.2f, random.nextFloat() *
random.nextFloat()); // a
+ p.data[3] = JdkMath.max(0.2f, random.nextFloat() *
random.nextFloat()); // a
float px = random.nextFloat();
float py = random.nextFloat();
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/PolygonChromosome.java
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/PolygonChromosome.java
index dc0aa05e2..548cf14f6 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/PolygonChromosome.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/PolygonChromosome.java
@@ -24,9 +24,9 @@ import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.math4.genetics.AbstractListChromosome;
-import org.apache.commons.math4.genetics.Chromosome;
-import org.apache.commons.math4.genetics.InvalidRepresentationException;
+import org.apache.commons.math4.legacy.genetics.AbstractListChromosome;
+import org.apache.commons.math4.legacy.genetics.Chromosome;
+import org.apache.commons.math4.legacy.genetics.InvalidRepresentationException;
/**
* A simple chromosome representing a list of polygons.
diff --git
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/RandomPolygonMutation.java
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/RandomPolygonMutation.java
index 6f99e598f..fee238ea8 100644
---
a/src/userguide/java/org/apache/commons/math4/userguide/genetics/RandomPolygonMutation.java
+++
b/src/userguide/java/org/apache/commons/math4/userguide/genetics/RandomPolygonMutation.java
@@ -19,8 +19,8 @@ package org.apache.commons.math4.userguide.genetics;
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.math4.genetics.Chromosome;
-import org.apache.commons.math4.genetics.MutationPolicy;
+import org.apache.commons.math4.legacy.genetics.Chromosome;
+import org.apache.commons.math4.legacy.genetics.MutationPolicy;
public class RandomPolygonMutation implements MutationPolicy {
diff --git a/src/userguide/pom.xml b/src/userguide/pom.xml
index bed7bced4..46b293952 100644
--- a/src/userguide/pom.xml
+++ b/src/userguide/pom.xml
@@ -18,7 +18,7 @@
<!--
Stripped down maven pom used for generating example code for the commons
math userguide.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math4-examples</artifactId>
@@ -82,13 +82,7 @@
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
- <artifactId>commons-math4</artifactId>
- <classifier>tools</classifier>
- <version>4.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-math4</artifactId>
+ <artifactId>commons-math4-legacy</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
@@ -114,32 +108,22 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-rng-client-api</artifactId>
- <version>1.5</version>
+ <version>1.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-rng-simple</artifactId>
- <version>1.3</version>
+ <version>1.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-geometry-euclidean</artifactId>
<version>1.0</version>
</dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-geometry-enclosing</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-geometry-hull</artifactId>
- <version>1.0</version>
- </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-statistics-distribution</artifactId>
- <version>1.0</version>
+ <version>1.1</version>
</dependency>
</dependencies>
</project>