The point is partially more or less at the end of the link I included. The reference to the Rdrand <http://software.intel.com/en-us/articles/user-manual-for-the-rdrand-library-linux-version>
Which means software should take advantage of hardware when possible.
But it is about more than that.

And with due regards: the choice of the Mersenne twister over a Delphi equivalent one was made by about the same arguments I have now: it was better.

This is not that I disagree with your initial answers (also from Jonas) but to put things in an historical perspective. You were both involved at the time the Mersenne twister was chosen , I believe. Correct me if I am wrong.

PRNG's are more and more important. They deserve extra effort even if it is not used for the compiler itself. (It may very well be: when all software needs signing on all major platforms, which is tomorrow in IT standards)

Regards,

Thaddy

On 28-Jan-16 3:43 PM, Michael Van Canneyt wrote:


On Thu, 28 Jan 2016, Jonas Maebe wrote:


thaddy wrote on Thu, 28 Jan 2016:

Then wouldn't it be possible to make PRNG's plugable. The Mersenne twister is still good as it is but definitely not suitable for every and any case. Marsialigla's might be a better choice nowadays. And the seeding can nowadays often been done from reading hardware random, like on the Raspberry Pi. e.g. http://scruss.com/blog/2013/06/07/well-that-was-unexpected-the-raspberry-pis-hardware-random-number-generator/

The random number generator is just there as a general purpose tool, for TP/Delphi functional compatibility (not implementation compatibility, as we use a different PRNG). Unlike functionality such as the memory manager and code page conversions, it is not used by other parts of the language or RTL. As a result, there is no need to complicate the system unit by implementing a complete plugin infrastructure for this.

Indeed. You can just write and use your own random number mechanism if this is so
important. read /dev/urandom or so...

Michael.
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to