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 <maks.schoolfo...@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 + } + } }