Es gibt nun einpaar neue Klassen:
CTrueRandomNumberGenerator: Für sehr zufällige Zahlen, nutzt den Crypto-Provider von Windows.
CWELL512RandomNumberGenerator: Sehr guter Zufallsgenerator, basierend auf einen Startwert(reproduzierbare Zufallszahlen).
http://en.wikipedia.org/wiki/Well_equid ... iod_linear
CXorShift128RandomNumberGenerator: Wie WELL512, aber nicht so gut, dafür sehr schnell. Kann als Ersatz für System.Random angesehen werden(jedoch anderer Algorithmus).
CRandomNameGenerator: Generiert zufällige Namen/Wörter. Es kann angegeben werden, wieviele Silben gewünscht sind. Die Art des Zufallsgenerator kann angegeben werden.
Es gäbe einen noch besseren Generator als WELL512, nämlich basierend auf Mersenne-Twister, den verwendet aber selbst STNE nicht, weil:
- Je höher der Startwert, desto mehr initiale Iterationen müssen durchgeführt werden, welches stark auf die Performance schlägt. Daher unbrauchbar und nicht zur verfügung gestellt.
CRandomNumberGeneratorBase: Hat ein paar nützliche statischen Funktionen, wie z.B. HashInteger und GetRandomNumberOfInteger. Die Werte sind immer reproduzierbar, haben eigentlich nichts mit Zufall zu tun und sind zum generieren von Startwerten nützlich. (z.B. HashInteger(ShipID), oder HashInteger(ShipID, variation).
http://burtleburtle.net/bob/hash/integer.html