Вопрос чисто философского характера:
Можно ли полагаться на базу рандомизации при генерации идентичных последовательностей на разных устройствах?
Например, задав некоторую базу(srand) и cгенерировав 100 чисел, можно ли быть уверенным в том, что именно эти самые числа будут сгенерированы с той же базой на более быстром/медленном по частоте процессора компьютере/телефоне etc..?
P.S В основе вопроса - функция srand из стандартной библиотеки C.
P.P.S В разных компиляторах получаются разные последовательности.
Ответ
Нет, нельзя. Реализация srand зависит от используемой стандартной библиотеки языка C - а она на разных компьютерах может отличаться. И даже на одном и том же компьютере она может отличаться. Даже если собирать одним и тем же компилятором.
Если вам требуется переносимый детерминированный генератор псевдослучайных чисел - его лучше написать самостоятельно.
Комментариев нет:
Отправить комментарий