C ++ 11 Cross-Compiler / Standardbibliothek - Reproduzierbarkeit der Zufallsverteilung
Während die Zufallsgeneratoren auf jedem Compiler dieselbe Zahlenfolge angeben müssen. Zumindest einige der Zufallsverteilungen müssen nicht nur statistische und probabilistische Schwellenwerte erfüllen. Als Beispiel
#include <random>
#include <iostream>
int main() {
std::mt19937 foo;
std::uniform_int_distribution<int> bar(0, 1000);
for (int i=0; i<99; ++i) {
bar(foo);
}
std::cout << bar(foo) << std::endl;
return 0;
}
Welche 808 beim Kompilieren mit (meiner Version von) libstdc ++ und 89 beim Kompilieren mit libc ++ ausgeben.
Welche der standardmäßig bereitgestellten Verteilungsfunktionen führen garantiert zu konsistenten Ergebnissen, unabhängig davon, in welcher konformen Umgebung Sie sich befinden?