Я пытаюсь использовать повышение для генерации случайных чисел длинных двойников (на 64-битной машине).
В какой-то момент я использую
rng = boost::mt19937();
Однако компилятор утверждает, чтов строке 88 файла boost / random / mersenne_twister.hpp,
x[i] = (1812433253UL * (x[i-1] ^ (x[i-1] >> (w-2))) + i) & mask;
происходит неявное преобразование, которое сокращает 64-разрядное значение до 32-разрядного ...
Я не сделалЯ даже не уточнил, хочу ли я длинный двойной или двойной ... почему он спорит по этому поводу?Это потому, что я использую 64-битную ОС?
Есть ли простое решение этой проблемы?Мне нужен длинный двойной генератор ... xD
Спасибо