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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage