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 2022/08/20 00:48:32 UTC
[commons-math] 01/03: MATH-1647: Enforce precondition (index must be larger than 0).
This is an automated email from the ASF dual-hosted git repository.
erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-math.git
commit 01ba89bf26da87e998cbc68262afc637ea4dd615
Author: rednikeeg <ma...@gmail.com>
AuthorDate: Fri Aug 19 21:27:11 2022 +0300
MATH-1647: Enforce precondition (index must be larger than 0).
---
.../commons/math4/legacy/random/HaltonSequenceGenerator.java | 5 +++++
.../math4/legacy/random/HaltonSequenceGeneratorTest.java | 10 ++++++++++
2 files changed, 15 insertions(+)
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.java
index 8a175618b..3805be497 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.java
@@ -19,6 +19,7 @@ package org.apache.commons.math4.legacy.random;
import java.util.function.Supplier;
import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
+import org.apache.commons.math4.legacy.exception.NotPositiveException;
import org.apache.commons.math4.legacy.exception.NullArgumentException;
import org.apache.commons.math4.legacy.exception.OutOfRangeException;
@@ -165,6 +166,10 @@ public class HaltonSequenceGenerator implements Supplier<double[]> {
* @throws org.apache.commons.math4.legacy.exception.NotPositiveException NotPositiveException if index < 0
*/
public double[] skipTo(final int index) {
+ if (index < 0) {
+ throw new NotPositiveException(index);
+ }
+
count = index;
return get();
}
diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/random/HaltonSequenceGeneratorTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/random/HaltonSequenceGeneratorTest.java
index 4dd800b41..c1931f517 100644
--- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/random/HaltonSequenceGeneratorTest.java
+++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/random/HaltonSequenceGeneratorTest.java
@@ -18,6 +18,7 @@ package org.apache.commons.math4.legacy.random;
import org.junit.Assert;
import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
+import org.apache.commons.math4.legacy.exception.NotPositiveException;
import org.apache.commons.math4.legacy.exception.NullArgumentException;
import org.apache.commons.math4.legacy.exception.OutOfRangeException;
import org.junit.Before;
@@ -131,4 +132,13 @@ public class HaltonSequenceGeneratorTest {
}
}
+ @Test
+ public void testSkipToNegative() {
+ try {
+ generator.skipTo(-4584);
+ Assert.fail("an exception should have been thrown");
+ } catch (NotPositiveException e) {
+ // expected
+ }
+ }
}