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/

Reply via email to