Я генерирую последовательность случайных чисел с помощью std :: mt19937_64. Я заметил, что, когда вы запускаете GCC и Clang на одной платформе с одним и тем же семенем, я получаю другую последовательность. Я запустил программу через Valgrind и не нашел неинициализированной памяти.Воспроизводимость Mersenne Twister для всех компиляторов
Есть ли какая-либо гарантия на воспроизводимость через компиляторы или на разных платформах с помощью std :: mt19937_64?
Edit: Бег с стандом :: normal_distribution
Если вам нужна совместимость с кросс-компилятором, вы можете использовать [Boost.Random] (http://www.boost.org/doc/libs/1_57_0/doc/html/boost_random.html). –
Возможно, я немного наивна здесь, но, возможно, если они используют один и тот же алгоритм и одни и те же параметры, не должны ли они воспроизводить одну и ту же последовательность? – Rufflewind
Поскольку вы используете обычное распространение, см. Мой [ответ здесь] (http://stackoverflow.com/a/24554535/1708801), в основном ответ - нет, но лежащие в основе двигатели должны быть последовательно похожими на дубликат. –