This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-rng.git
commit 5ed9a195d19758e1291fadd8cca84828f12d1bc6 Author: Alex Herbert <aherb...@apache.org> AuthorDate: Fri Mar 1 21:09:31 2019 +0000 RNG-76: Added primitive long constructor to SplitMix64 --- .../org/apache/commons/rng/core/source64/SplitMix64.java | 13 ++++++++++++- .../apache/commons/rng/core/source64/SplitMix64Test.java | 7 ++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/SplitMix64.java b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/SplitMix64.java index 145c874..df243d2 100644 --- a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/SplitMix64.java +++ b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/SplitMix64.java @@ -37,7 +37,18 @@ public class SplitMix64 extends LongProvider { * * @param seed Initial seed. */ + public SplitMix64(long seed) { + state = seed; + } + + /** + * Creates a new instance. + * + * @param seed Initial seed. + */ public SplitMix64(Long seed) { + // Support for Long to allow instantiation through the + // rng.simple.RandomSource factory methods. setSeedInternal(seed); } @@ -47,7 +58,7 @@ public class SplitMix64 extends LongProvider { * @param seed Seed. */ private void setSeedInternal(Long seed) { - state = seed; + state = seed.longValue(); } /** {@inheritDoc} */ diff --git a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/SplitMix64Test.java b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/SplitMix64Test.java index affa81f..5ec141c 100644 --- a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/SplitMix64Test.java +++ b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/SplitMix64Test.java @@ -35,6 +35,11 @@ public class SplitMix64Test { 0x24b5d9d7a00a3140L, 0x79d983d781a34a3cL, 0x582e4a84d595f5ecL, 0x7316fe8b0f606d20L, }; - RandomAssert.assertEquals(expectedSequence, new SplitMix64(0x1a2b3c4d5e6f7531L)); + final long seed = 0x1a2b3c4d5e6f7531L; + + RandomAssert.assertEquals(expectedSequence, new SplitMix64(seed)); + + // Test with Long + RandomAssert.assertEquals(expectedSequence, new SplitMix64(Long.valueOf(seed))); } }