You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Morikawa Joe (JIRA)" <ji...@apache.org> on 2016/02/09 17:34:18 UTC
[jira] [Comment Edited] (MATH-1322) Negative integer seed for
MersenneTwister is not working.
[ https://issues.apache.org/jira/browse/MATH-1322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15139164#comment-15139164 ]
Morikawa Joe edited comment on MATH-1322 at 2/9/16 4:34 PM:
------------------------------------------------------------
There is no impact to setSeed(long seed).
{code:borderStyle=solid}
MersenneTwister rng = new MersenneTwister();
rng.setSeed((long) -1);
// 1. Without patch, "93740670" is displayed.
// 2. After applying patch, "93740670" is displayed. Same value.
System.out.println(rng.nextInt());
{code}
was (Author: kawajoe):
There is no impact to setSeed(long seed).
{code:title=Bar.java|borderStyle=solid}
MersenneTwister rng = new MersenneTwister();
rng.setSeed((long) -1);
// 1. Without patch, "93740670" is displayed.
// 2. After applying patch, "93740670" is displayed. Same value.
System.out.println(rng.nextInt());
{code}
> Negative integer seed for MersenneTwister is not working.
> ---------------------------------------------------------
>
> Key: MATH-1322
> URL: https://issues.apache.org/jira/browse/MATH-1322
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 3.6
> Reporter: Morikawa Joe
> Labels: patch
> Attachments: MersenneTwister.patch
>
>
> MersenneTwister.setSeed(int seed) has a bug.
> If seed is negative, longMT also becomes negative.
> First 32 bits are filled by 0xFFFFFFFF.
> But it should be positive. First 32 bits should be filled by 0x00000000.
> Ex) Integer -1 is 0xffffffff.
> Long -1 is 0xffffffffffffffff.
> Long 0xffffffff is 4294967295.
> I created simple patch.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)