Size: a a a

2020 May 03

A

Alex in pro.cxx
Кажется, я наконец-то понял, как использовать <random> удобным образом

https://godbolt.org/z/la4zE_
источник

v

vehlwn in pro.cxx
Alex
Кажется, я наконец-то понял, как использовать <random> удобным образом

https://godbolt.org/z/la4zE_
[Многопоточность]: умирает.
источник

v

vehlwn in pro.cxx
источник

A

Alex in pro.cxx
Под удобством понимаю простоту, аналогичную rand().
Одна проблема здесь - сложно протащить сид, если нужно (не первоначальный, а на ходу, так сказать).
источник

v

vehlwn in pro.cxx
Alex
Кажется, я наконец-то понял, как использовать <random> удобным образом

https://godbolt.org/z/la4zE_
Почему только интеграл? Я хочу флот.
источник

A

Alex in pro.cxx
mt19937_64 не потокобезопасен никаким образом, я так понимаю?
источник

v

vehlwn in pro.cxx
Alex
Под удобством понимаю простоту, аналогичную rand().
Одна проблема здесь - сложно протащить сид, если нужно (не первоначальный, а на ходу, так сказать).
Поэтому генераторы с глобальным ненастраиваемым состоянием не нужны.
источник

A

Alex in pro.cxx
не помню, что меня заставило ввести это ограничение, на шаблонах можно и float сделать, конечно. Не было таких задач ещё.
источник

v

vehlwn in pro.cxx
Насчет потокобезопасности boost::chrono::system_clock::now я тоже не уверен.
источник

A

Alex in pro.cxx
хм, а у меня полно кода, который его вызывает отовсюду
источник

A

Alex in pro.cxx
но мне кажется, делать такую штуку небезопасной было бы странно, должна быть большая красная табличка в спецификации тогда
источник

A

Alex in pro.cxx
vehlwn
Поэтому генераторы с глобальным ненастраиваемым состоянием не нужны.
Смотря кому, мне нужны, в 99.5% требуется то, что я написал. Для остальных случаев остаётся голый <random> без обёрток.
источник

v

vehlwn in pro.cxx
Alex
Смотря кому, мне нужны, в 99.5% требуется то, что я написал. Для остальных случаев остаётся голый <random> без обёрток.
Тебе просто неравномерные распределения не были нужны.
источник

A

Alex in pro.cxx
классная идея с thread_local, ни разу его ещё не юзал. Это ж С++17?
источник

SE

Stanislav Ershov in pro.cxx
Alex
классная идея с thread_local, ни разу его ещё не юзал. Это ж С++17?
11
источник

A

Alex in pro.cxx
vehlwn
Тебе просто неравномерные распределения не были нужны.
ну так я ж не спорю, широкие возможности - это хорошо. Но зачем за них платить десятком лишних строк кода там, где это не нужно
источник

A

Alex in pro.cxx
а оверхед в процессорных тактах у thread_local есть? Атомик инструкции использует?
источник

v

vehlwn in pro.cxx
Alex
Кажется, я наконец-то понял, как использовать <random> удобным образом

https://godbolt.org/z/la4zE_
В чем смысл констекспр параметров распределения, если uniform_int_distribution::operator() не констекспр?
источник

v

vehlwn in pro.cxx
Alex
а оверхед в процессорных тактах у thread_local есть? Атомик инструкции использует?
Глобальную мапу тид->указатель использует.
источник

A

Alex in pro.cxx
в том, чтобы засунуть их в тип и указать один раз в using
источник