This has all the marks of a 64-bit-only code running on a 32 bit machine. It looks like you're getting the high bits of the rng with a signed shift right, ultimately yielding only the sign bit.
I suspect mwc-random needs to use Int64 rather than Int internally in a few critical places. On Wed, Jul 17, 2013 at 7:22 AM, kudah <kudahkuka...@gmail.com> wrote: > Test triggers the bug, only zeros and ones like you said, but > only for native-sized types: > > -O2: > Int > 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 > Int32 > 41 37 25 85 27 84 70 8 70 32 36 1 14 92 1 74 17 28 38 76 > Int64 > 37 77 57 75 17 58 28 77 23 51 1 13 50 35 21 11 70 43 6 5 > Word > 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 > Word32 > 52 45 86 4 85 44 71 59 91 10 65 89 41 78 84 88 3 60 71 0 > Word64 > 12 82 25 1 11 14 76 58 1 77 9 25 57 20 41 8 2 29 21 29 > > ghci: > Int > 53 13 24 58 66 71 19 16 73 54 95 87 2 34 62 67 2 45 56 2 > Int32 > 41 37 25 85 27 84 70 8 70 32 36 1 14 92 1 74 17 28 38 76 > Int64 > 37 77 57 75 17 58 28 77 23 51 1 13 50 35 21 11 70 43 6 5 > Word > 41 19 99 69 27 58 92 45 9 38 51 39 50 14 2 21 25 94 96 2 > Word32 > 52 45 86 4 85 44 71 59 91 10 65 89 41 78 84 88 3 60 71 0 > Word64 > 12 82 25 1 11 14 76 58 1 77 9 25 57 20 41 8 2 29 21 29 > > I run a 32-bit system, as I've said before. > > > Gentoo Linux _i686_ 3.8.2-pf > > Could perhaps be something with my system, I'll test on Ubuntu later > today, and if there are no problems with compiling mwc-random on ghc > git — on it too. > > On Wed, 17 Jul 2013 12:19:29 +0400 Aleksey Khudyakov > <alexey.sklad...@gmail.com> wrote: > > > On 10 July 2013 14:10, kudah <kudahkuka...@gmail.com> wrote: > > > Yes, it does. Without optimizations the result is > > > "ndgorsfesnywaiqraloa", while with optimizations the result is > > > always "aaaaaaaaaabbaaaaaaaa". > > > > > Sorry for taking so long. So problem is uniformR. You can reproduce > > bug reliably and I cannot. Are you on 32-bit system? I only tested on > > 64-bit ones. If this isn't the case I'm out of ideas. > > > > I finally wrote test case that doesn't depends on anything besides > > mwc-random (it's > > in attachment). Could you check whether it still triggers the bug > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe