У меня есть объект функции для распараллеливания алгоритма for_each () с использованием потоков строительных блоков,
Функциональный объект использует генератор случайных чисел RND, оператор которого method () генерирует случайное число.
Проблема: мне нужен генератор случайных чисел для 1) инициализации только один раз в функциональном объекте 2) должен быть поточно-ориентированным и 3) может быть предоставлено такое же начальное число, чтобы можно было получить те же результаты.
Я не знаю много о генерации потоковых генераторов случайных чисел в функциональных объектах как таковых. Я попытался использовать свой собственный класс генератора случайных чисел (используя движок, дистрибутив и генераторы) (используя библиотеки повышения)
но мне нужно что-то простое, например, Erand ()? или что-то подобное, для чего нам не нужно писать отдельный код.
struct func {
public:
func() { }
func(int t_) : t(t_) { }
template <typename house_t>
void operator()(house_t house) const {
if ( RND() )
{ //do something with the house }
} //operator
private:
int t;
};//Parallel for_each
tbb::parallel_for_each( house.begin(), house.end(), func(t) );
Пожалуйста, предложите
Задача ещё не решена.