оптимизация / проверка отрисовки случайных чисел с форсированием

Я закончил установку Boost, и (наконец) я использую его в своей программе. Я хотел иметь возможность генерировать

  1. Случайно распределенные числа от 0 до 1
  2. Нормально искаженные числа со стандартным отклонением 1

Я сделал это с помощью следующего файла заголовка:

#include <boost/random/normal_distribution.hpp>
#include <boost/random/uniform_real.hpp>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/variate_generator.hpp>

boost::mt19937 rng;

boost::normal_distribution<double> nd(0.0, 1.0);
boost::variate_generator< boost::mt19937, boost::normal_distribution<double> > normal(rng, nd);

boost::uniform_real<float> ur(0.0, 1.0);
boost::variate_generator< boost::mt19937, boost::uniform_real<float> > uniform(rng, ur);

У меня есть два вопроса:

  1. Мой подход правильный? Пока это кажется последовательным в том, что я получаю желаемое поведение, и кажется, что другие люди делают это так же
  2. Мне нужно смоделировать очень большую выборку, и, следовательно, мне нужно очень большое количество случайных чисел, намного больше, чем 10 ^ 9. Есть ли более эффективный способ для достижения этой цели, чем мой подход простого вызоваiform () и normal ()?

0

Решение

Задача ещё не решена.

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

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