Blitz ++: заполнение массива случайными числами

Я пытаюсь сравнить производительность Blitz ++ / Armadillo / Eigen и моей собственной библиотеки.

В настоящее время я делаю следующее с помощью Blitz ++:

...
Array<T, 1> s(samples);
Uniform<T> rand;
rand.seed((unsigned int)time(0));
for(size_t i=0; i<samples; i++) {
s = rand.random() *4.0 +58.0;
}
...

Чтобы быть справедливым, мне нужно знать правильный способ «блиц ++» для заполнения массива случайными числами.
Я предполагаю, что приведенный выше фрагмент кода НЕ является способом сделать это, поскольку он в значительной степени неэффективен.

Короче

Является ли приведенный фрагмент верным способом инициализации массива случайными числами при использовании Blitz ++ или есть лучший / более эффективный способ?

1

Решение

Когда я писал свой вопрос, я осознал ошибку моих путей.

Ответ на вопрос:

Вы делаете это неправильно, делайте это так:

...
Array<T, 1> s(samples);
Uniform<T> rand;
rand.seed((unsigned int)time(0));
s = rand.random() *4.0 +58.0;
...

Итак, теперь вопрос в том, правильный ли мой ответ?

1

Другие решения

Других решений пока нет …