Thank you. Other research shows that the algorithms are incompatible. 2 possible solutions:
fork a 32 bit version of J to get random numbers on 64 bit platforms, or Hope that RNG select gets extended options for 32 bit algorithm versions. ----- Original Message ----- From: Joe Bogner <[email protected]> To: [email protected] Cc: Sent: Wednesday, April 16, 2014 11:57:17 AM Subject: Re: [Jprogramming] 32 and 64 bit compatibility for ? and 9!:1 Yes, android is 32 bit. 64 bit android isn't widely available yet as far as I know 64 bit linux gave the same results as 64 bit windows ? 10 $ 100 [ 9!:1 ] 79 233 122 99 45 95 82 5 12 75 0 88 21 It does look like there is different logic for 64 vs 32 bit: https://github.com/openj/core/blob/18fd23bbdc2f50770eb3047e978cd5e4e3b47039/vrand.c#L204 vrand.c, look for: jtmt_init_by_array On Wed, Apr 16, 2014 at 11:11 AM, Pascal Jasmin <[email protected]>wrote: > that happens to be the same as J6 -32. Is android 32 bit? > > 128!:4 seems to be different than the "advertised spec" on 64 bit windows > versions: > > It produces apparent 64 bit range numbers instead of 2^32 advertised upper > bound for Mersenne Twister. > > > ----- Original Message ----- > From: Joe Bogner <[email protected]> > To: [email protected] > Cc: > Sent: Wednesday, April 16, 2014 11:05:53 AM > Subject: Re: [Jprogramming] 32 and 64 bit compatibility for ? and 9!:1 > > Android results are different > > ? 10 $ 100 [ 9!:1 ] 79 233 122 > 69 66 18 2 40 41 94 12 72 87 > > On Apr 16, 2014 10:51 AM, "Pascal Jasmin" <[email protected]> wrote: > > > this gives consistent results accross 64 bit versions of J on windows > > (default Mersenne Twister) > > > > ? 10 $ 100 [ 9!:1 ] 79 233 122 > > 99 45 95 82 5 12 75 0 88 21 > > > > > > does it also give the same result on 64bit android osx linux? > > > > On J6-32, there is a different result. > > > > I notice that 9!:44 structure appears to be: > > 2 (Mersenne T RNG; offset taken so far; 312 64 bit numbers or 624 32 bit > > numbers depending on J version. > > > > for 9!:45, it appears as though the length of the 3rd box must match 312 > > or 624. > > > > Also ?. provides different results in 32 vs 64 bits > > > > Is there a possible conversion for seed or state that will produce the > > same results on 32 and 64 bits? > > > > 624 = 312 * 2... perhaps there is some alternate memcopy procedure? > > > > tried _2*/\624 $ list of 32 bit numbers for 3rd box, but gives a domain > > error on 64 bits, even though it produces the right 312 shape. So it > > appears the state array must be less than 64 bit values. > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
