Following url may help. http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30235396.aspx
-Hideki Michael Williams: <[EMAIL PROTECTED]>: >I don't think Don was saying to use many calls to RDTSC to generate a single >random number. >I think he meant do something like (FastBadRand() XOR RDTSC). >The first part has low quality low-order bits and the second part has low >quality high-order >bits. > >Also, I can't imagine why executing a RDTSC would take 50 cycles. But I >couldn't find any >docs on that aspect of the instruction. > > > >steve uurtamo wrote: >> the only thing to watch is that you'll likely need >> 30+ bits from these guys to seed a prng, and >> getting those bits in any organized way is likely >> going to happen on a regular schedule (i.e. if >> you get them in a loop, you're likely going to >> space them out in an organized way). >> >> s. >> >> >> On 5/15/08, Don Dailey <[EMAIL PROTECTED]> wrote: >>> For a long time I have pondered whether you could build a very high quality >>> random number generator that was extremely fast using the pentium RDTSC >>> instruction as a low order bit entropy source. The idea would be to use >>> an extremely fast (but low quality) pseudo random number generator, but >>> modify the output (or the internal state of the generator) with the time >>> stamp register at each call. >>> >>> RDTSC reads the pentiums internal clock and is basically just a 64 bit >>> counter. However it increments very quickly and could be viewed as an >>> entropy source in the lowest bits as it would introduce at least a little >>> bit of non-determinism, and I think a little is all you would need to >>> transform a horrible generator into a good practical one for many >>> applications. I think the lowest 2 or 3 (or more) bits would appear to >>> modern processors as almost unpredictable since there is so much going on >>> inside modern computers that are unpredictable. >>> I don't know if the call to RDTSC is fast or how it would affect the >>> parallelism of todays modern machines. I'm not particularly interested in >>> non-deterministic generators as I sometimes depend on this for testing and >>> debugging, but it's an idea I thought I would throw out there. >>> - Don >>> >>> >>> >>> >>> >>> Don Dailey wrote: >>>> If you are looking for a cheap fast and simple random number generator, A >>> post by George Marsaglia, an expert/guru on random number generation has >>> several and a C implemention. >>>> These are one line generators, coded as macros. He also discusses the >>> period and quality of each of them. This is a gem of a post on >>> sci.stat.math,sci.math if you are interested in RNG: >>>> http://www.math.niu.edu/~rusin/known-math/99/RNG >>>> >>>> - Don >>>> >>>> >>>> >>>> Heikki Levanto wrote: >>>> >>>>>> In addition, xor_shift is better than builtin rand() and faster and >>>>>> much smaller than MT. >>>>>> >>>>> I don't know that much about random numbers, so excuse my ignorance. But >>> a >>>>> bit of googling got me to the Park - Miller Minimal Standard random >>> number >>>>> generator >>> http://www.firstpr.com.au/dsp/rand31/p1192-park.pdf >>>>> >From what I read, it should be quite sufficient for go programs. It is >>>>> dead simple and fast: >>>>> >>>>> long int pmrand() { >>>>> const long int a=16807; >>>>> const long int m= ( 1 << 31 ) -1; >>>>> pmrandseed = ( pmrandseed * a ) % m ; >>>>> return pmrandseed; >>>>> } /* pmrand */ >>>>> >>>>> >>>>> Should I worry about this not being good enough? >>>>> - Heikki >>>>> >>>>> >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> computer-go mailing list >>>> computer-go@computer-go.org >>>> http://www.computer-go.org/mailman/listinfo/computer-go/ >>>> >>>> >>> _______________________________________________ >>> computer-go mailing list >>> computer-go@computer-go.org >>> http://www.computer-go.org/mailman/listinfo/computer-go/ >>> >> _______________________________________________ >> computer-go mailing list >> computer-go@computer-go.org >> http://www.computer-go.org/mailman/listinfo/computer-go/ >> > >_______________________________________________ >computer-go mailing list >computer-go@computer-go.org >http://www.computer-go.org/mailman/listinfo/computer-go/ -- [EMAIL PROTECTED] (Kato) _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/