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)