BTW, there are some unsignedLong supporting methods in Java 8, I think some of them are even intrinsics, this includes unsigned parsing, printing, comparision and division/reminder. I think not yet a modular add.
https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html#remainderUnsigned-long-long- Gruss Bernd -- http://bernd.eckenfels.net -----Original Message----- From: Thomas Neidhart <thomas.neidh...@gmail.com> To: Commons Developers List <dev@commons.apache.org> Sent: Mo., 11 Jan. 2016 7:47 Subject: Re: [Math] Add 64-bits based RNG (Was: [Math] New base class for all RNGs) On 01/10/2016 05:09 AM, Gilles wrote: > Hi. > > Relevant excerpt of previous posts: > >>> [...] >>> >>> Something implicit in "BitStreamGenerator": the maximum number of >>> bits is 32 (cf. return type of "next(int)" and the ubiquitous use >>> of hard-coded "32". >>> >>> What about the possibility of using a "long" as a building block >>> for another family of RNG? >> >> Why? We don't have contributions of other RNGs implemented using >> 64-bit blocks of data. In theory, I guess you could do that, but I >> don't know of any and all the ones we have use 32-bit words. >> >> Phil >>> >>> Gilles > > (1) > CPUs and OS are nowadays commonly 64-bits based. > Thus one could legitimately wonder whether, on such systems, generating > one "long" value > would not be faster than generating > two "int" values, > especially when 64 bits are necessary in order to produce the next random > "long" or "double" value. > > (2) > There indeed exist 64-bits implementations of RNGs: > > http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/C-LANG/mt19937-64.c > > http://burtleburtle.net/bob/rand/isaacafa.html > > > I thus propose to create a feature branch that will contain > * a new interface, for when "nextLong()" is the "random bits" producer be aware that (at least some of) the 64-bit variants rely on unsigned long arithmetic operations which can't be done in java without losing a *lot* performance. Thomas > * the (adapted) "xorshift1024*" RNG implementation from > http://xorshift.di.unimi.it/ > * an "adapter" to the existing generic methods > * benchmarking code > > > Gilles > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org